首页 新闻 搜索 专区 学院

使用过LitjsON库处理JSON数据的请看下

-2
悬赏园豆:100 [已解决问题] 解决于 2014-05-07 11:20

 String str = "{'name':'j1','id':1,'items':[{'itemid':1001,'itemname':'it1'},{'itemid':1002,'itemname':'it2'}]}";
           //*** 读取JSON字符串中的数据 *******************************           
           JsonData jd = JsonMapper.ToObject(str);
           String name = (String)jd["name"];
           int id = (int)(jd["id"]);
           Response.Write(string.Format("name:{0},id:{1}<br/>",name,id));
           JsonData jdItems = jd["items"];
           Response.Write(string.Format("items:<br/>"));
           int itemCnt = jdItems.Count;
           // 数组 items 中项的数量
           foreach (JsonData item in jdItems)
           // 遍历数组 items           
           {
               int itemID = (int)item["itemid"];
               String itemName = (String)item["itemname"];
               Response.Write(string.Format("itemid:{0},itemname:{1}<br/>", itemID, itemName));
           }

-----------------------------------------------------------------------------

以上是网上的一个例子

我处理的JSON数据是str={"Result":"OK","Data":"[{\"Tagname\":\"MES_B02_60_799_ALARM\",\"StartTime\":\"2014-4-23 8:55:54\",\"EndTime\":\"2014-4-23 9:55:54\",\"Difference\":0},{\"Tagname\":\"MES_B02_60_799_ALARM\",\"StartTime\":\"2014-4-23 18:55:54\",\"EndTime\":\"2014-4-23 19:55:54\",\"Difference\":0}]"}

当程序运行到 int itemCnt = jdItems.Count; 

总是会报一个异常jdItemsNode.Count”引发了“System.InvalidOperationException”类型的异常。

不调试的话会报
The JsonData instance has to be initialized first

 

你们遇到过类似的问题么?求解决!

 

 

 

 

 

Teen Top的主页 Teen Top | 初学一级 | 园豆:109
提问于:2014-05-07 08:45
< >
分享
最佳答案
0

中括号不要用双引号引起来

改成:

str={"Result":"OK","Data":[{"Tagname":"MES_B02_60_799_ALARM","StartTime":"2014-4-23 8:55:54","EndTime":"2014-4-23 9:55:54","Difference":0},{"Tagname":"MES_B02_60_799_ALARM","StartTime":"2014-4-23 18:55:54","EndTime":"2014-4-23 19:55:54","Difference":0}]}

收获园豆:100
Yu | 专家六级 |园豆:12980 | 2014-05-07 11:16

应该是这个问题,我去试试,先结贴吧。

Teen Top | 园豆:109 (初学一级) | 2014-05-07 11:20
其他回答(1)
0

看起来好像jdItems没有Item啊。。。。。

羽商宫 | 园豆:2490 (老鸟四级) | 2014-05-07 09:33

jd["items"]里的items是从哪来的啊

支持(0) 反对(0) 羽商宫 | 园豆:2490 (老鸟四级) | 2014-05-07 09:50

@羽商宫: 我写的时候Items已经换成Data了,那只是个我仿写的例子。

支持(0) 反对(0) Teen Top | 园豆:109 (初学一级) | 2014-05-07 09:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册