我正在使用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>");
}
}
我需要反序列化这个。谁能建议我好方法。提前致谢
答案 0 :(得分:0)
您可以使用下面提到的代码
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);
答案 1 :(得分:0)
确定。我用Json Format String妥协了。我已经改变了json字符串。在How can I deserialize JSON to a simple Dictionary<string,string> in ASP.NET?中找到了类似的帖子。感谢。
答案 2 :(得分:0)
这对我有用..我不确定它是否适用于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/>";
}
}