我有以下JSON数组
var jsondataset = "{'tablename':'Employee','data':[{ 'Employee Name':'John','Salary':5000,'Department':'Marketing'},{ 'Employee Name':'Smith','Salary':4000,'Department':'IT'},{ 'Employee Name':'Williams','Salary':6000,'Department':'Sales'},{'Employee Name':'Vijay','Salary':6500,'Department':'IT'}],'Student':'Employee','data':[{'StudentID':1,'Name':'Suresh','Marks':950,'Grade':'A+'},{'StudentID':1,'Name':'Rama','Marks':900,'Grade':'A+'},{'StudentID':1,'Name':'Kishore','Marks':750,'Grade':'B'}]}";
Run Code Online (Sandbox Code Playgroud)
我正在循环jsondataset如下
JavaScriptSerializer json_serializer = new JavaScriptSerializer();
var routes_list = (Dictionary<string, object>)json_serializer.DeserializeObject(jsondataset);
string tname="";
foreach (var record in routes_list)
{
}
Run Code Online (Sandbox Code Playgroud)
但我不明白如何循环键“数据”中的每个记录
请给我解决方案
考虑到JSON的结构,您可以按以下方式反序列化它:
var jsondataset = "{'tablename':'Employee','data':[{ 'Employee Name':'John','Salary':5000,'Department':'Marketing'},{ 'Employee Name':'Smith','Salary':4000,'Department':'IT'},{ 'Employee Name':'Williams','Salary':6000,'Department':'Sales'},{'Employee Name':'Vijay','Salary':6500,'Department':'IT'}],'Student':'Employee','data':[{'StudentID':1,'Name':'Suresh','Marks':950,'Grade':'A+'},{'StudentID':1,'Name':'Rama','Marks':900,'Grade':'A+'},{'StudentID':1,'Name':'Kishore','Marks':750,'Grade':'B'}]}";
JavaScriptSerializer json_serializer = new JavaScriptSerializer();
var routes_list = (Dictionary<string, object>)json_serializer.DeserializeObject(jsondataset);
foreach (var entry in routes_list)
{
if (entry.Key == "data")
{
var objArr = (object[])entry.Value;
foreach (var obj in objArr)
{
foreach (var item in (Dictionary<string, object>)obj)
{
Console.WriteLine(item.Key + ": " + item.Value);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
StudentID: 1
Name: Suresh
Marks: 950
Grade: A+
StudentID: 1
Name: Rama
Marks: 900
Grade: A+
StudentID: 1
Name: Kishore
Marks: 750
Grade: B