我有一个string对象的字典userData。 我进行了一次http调用以获取数据。
internal static Dictionary<string, object> userData = null;
**userData = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string, object>>(httpData);**
userData的结构是这样的
{
"id": "12345",
"class": [
"my-user",
"college-student"
],
"list": [
{
"a": "CSE",
"b": "DataBase"
},
{
"a": "IT",
"b": "ComputerNetwork"
}
]
}
现在我必须遍历此userData以检索a和b的值。 可以请某人帮我在c#
中这样做答案 0 :(得分:1)
使用您目前拥有的代码的最简单方法:
var arr = (JArray)userData["list"];
foreach (JObject item in arr)
{
Console.WriteLine("a: {0}", item["a"]);
Console.WriteLine("b: {0}", item["b"]);
Console.WriteLine();
}
密钥userData
的{{1}}中的值为"list"
个JArray
,每个都包含JObject
和"a"
属性。
然而,另一种(更好的)方法是创建一些代表JSON结构的类:
"b"
然后反序列化为public class ListItem
{
public string A { get; set; }
public string B { get; set; }
}
public class MyClass
{
public string Id { get; set; }
public List<string> @Class { get; set; }
public List<ListItem> List { get; set; }
}
的实例:
MyClass