json 转成 string
有个json类型的字符串 (是从别的地方拼接的):
{"state":"1","file":
{"Bcsi01C.dll":
{"dll/Bcsi01C.dll":"1.0.0.8","lastModified":"2011-09-28 14:01:49"},
"Bcsi29C.dll":
{"dll/Bcsi29C.dll":"1.0.0.6","lastModified":"2011-09-26 13:33:34"},
"Bcsi03C.dll":
{"dll/Bcsi03C.dll":"1.0.0.4","lastModified":"2011-10-19 17:01:41"},
"Bcsi29C.dll":
{"Bcsi29C.dll":"1.0.0.6","lastModified":"2011-09-20 09:38:55"}
},
"folder":{"dll":"dll"}
}
我想拿到 里面的 Bcsi01C.dll dll/Bcsi01C.dll 1.0.0.8 lastModified 2011-09-28 14:01:49这几个类型的数据,应该怎么拿呢
------解决方案--------------------
JSONObject jo = JSON.parseObject(json);
JSONObject data = JSONObject.parseObject(jo.getString("Bcsi01C.dll"));
String str=data.getString("dll/Bcsi01C.dll");
String str=data.getString("lastModified");
如果不懂。去我的博客找。JSON/XML相关的。
------解决方案--------------------找一下gson的资料那里面有个jar专门解析json的
------解决方案--------------------"XXXXXXXXXXXXXX".equals(通过取键得到值);如果相同就把这个json封装到一个MAP中,然后做相应的操作。json就是一个对象,里面通过键值对的形式出现。
------解决方案--------------------你可以下载JSON的jar包来解析。或者找阿里巴巴的fastjson解析。解析速度超快。实现的例子有很多。如果你看了我的博客,应该知道的。
回复4楼:
数据多少条不用管,用data.getString();是根据键取值,按照LZ的数据,它一定可以取到。