通过java接口,或者查询数据库返回json串。
可以有两种方式进行解读。
1.简单方式
没有深层结构,最好只有一条数据(当然也可多条)。可以用datatable来获取。返回的是clo0、clo1、clo2...这种标识。
这就要求事先知道列的内容,尤其是自己写的查询语句的时候。
DataTable dt0 = FromRuntime.sqlToDataTables(sql);
//如果有数据
if (dt0.Rows.Count > 0)
{
//遍历dt0
for (int i = 0; i < dt0.Rows.Count; i++)
{
//填充到列表
DataList.Add(new DataModel(int.Parse(dt0.Rows[i]["col0"].ToString()), dt0.Rows[i]["col1"].ToString(), dt0.Rows[i]["col2"].ToString()));
}
}
2.复杂方式
获取字符串后转换成键值对
Dictionary<string, object> dic = Inth.Https.FromRuntime.JsonToDictionary(stsr);
然后遍历,当然,键值对的key也是事先知道的
foreach (KeyValuePair<string, object> item in dic)
{
switch (item.Key.ToString())
{
case "data":
//可以继续取集合
Dictionary<string, object> dicData = (Dictionary<string, object>)item.Value;
foreach (var itemData in dicData)
{
switch (itemData.Key.ToString())
{
case "msg":
if (item.Value.ToString() != "SUCCESS")
{
MessageBox.Show(item.Value.ToString());
return;
}
break;
default:
break;
}
}
}
}