【问题标题】:deserialize index based json object - c#反序列化基于索引的 json 对象 - c#
【发布时间】:2014-05-30 10:19:28
【问题描述】:

我正在使用 Newtonsoft 和 Newtonsoft.Json。我有以下 json:

string strJson_StorageInfo = "[{10:\"test\"}, {20:\"test1\"}]";

List<Dictionary<int, string>> jobj = (List<Dictionary<int, string>>) JsonConvert.DeserializeObject(strJson_StorageInfo, typeof(List<Dictionary<int, string>>));
foreach (Dictionary<int, string> dicStorageInfo in jobj) {
   foreach (KeyValuePair<int, string> StorageItem in dicStorageInfo) {
      Response.Write("key : " + StorageItem.Key + " , value : " + StorageItem.Value + "</br>"); 
   }
}

我需要反序列化这个。谁能给我推荐一个好方法。提前致谢

【问题讨论】:

  • 我在这里只看到一个字符串,没有使用 Newtonsoft。你是在序列化上面的 JSON 吗?
  • List> jobj = (List>) JsonConvert.DeserializeObject(strJson_StorageInfo, typeof(List>)); foreach (Dictionary dicStorageInfo in jobj) { foreach (KeyValuePair StorageItem in dicStorageInfo) { Response.Write("key : " + StorageItem.Key + " , value : " + StorageItem.Value + " ");我觉得对列表对象和字典对象进行不必要的枚举。

标签: c# json.net deserialization


【解决方案1】:

你可以使用下面提到的代码

string strJson_StorageInfo = "[{10:\"test\"}, {20:\"test1\"}]";
var abc = JsonConvert.DeserializeObject <List<Dictionary<int, string>>>(strJson_StorageInfo);

在你可以从中找到键和值之后

  var K = abc.Select(p => p.Keys);
  var V = abc.Select(p => p.Values);

【讨论】:

  • 我使用的是 asp.net 2.0
【解决方案2】:

好的。我妥协了 Json 格式字符串。我已经更改了 json 字符串。在How can I deserialize JSON to a simple Dictionary<string,string> in ASP.NET? 中找到了类似的线程。谢谢。

【讨论】:

    【解决方案3】:

    这对我有用.. 我不确定它是否适用于 asp.net 2.0

    string strJson_StorageInfo = "[{10:\"test\"}, {20:\"test1\"}]";
    List<Dictionary<int, string>> values = JsonConvert.DeserializeObject<List<Dictionary<int, string>>>(strJson_StorageInfo);
    foreach (var items in values)
    {
        foreach (var item in items)
        {
            Label1.Text += "Key: " + item.Key.ToString() + " Value: " + item.Value.ToString() + "<br/>";
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多