我有以下json。我想迭代它并获得a和b的值,以便我可以在其他地方设置它。谁能告诉我如何在c#中做到这一点?杰森是 -
{
"_id": "12345",
"r": [
"my-user",
"college-student"
],
"list": [
{
"a": "CSE",
"b": "DataBase"
},
{
"a": "IT",
"b": "ComputerNetwork"
}
]
}
答案 0 :(得分:3)
从nuget安装json.net并使用此代码获取a和b
dynamic res = JObject.Parse(json);
List<dynamic> ls =JsonConvert.DeserializeObject<List<dynamic>>( res.list.ToString());
ls.ForEach(item=> Console.WriteLine(item.a+" "+item.b));
因为我们喜欢一个衬垫,所以只需执行以下操作
List<dynamic> res = JsonConvert.DeserializeObject<List<dynamic>>(((dynamic)(JObject.Parse(json))).list.ToString());
如果你想为json生成类,只需使用这个网站http://json2csharp.com/
你会得到的课程是
public class List
{
public string a { get; set; }
public string b { get; set; }
}
public class RootObject
{
public string _id { get; set; }
public List<string> r { get; set; }
public List<List> list { get; set; }
}
并使用以下命令反序列化:
var res = JsonConvert.DeserializeObject<RootObject>(json);