永发信息网

java解析json格式文件

答案:1  悬赏:60  手机版
解决时间 2021-01-25 17:06
[{
'status': 5,
'remarks': '\xe6\xa3\x80\xe6\xb5\x8b\xe5\xb7\xb2\xe7\xbb\x8f\xe5\xae\x8c\xe6\x88\x90',
'session': (1, '9.2.0.1.0', '192.168.177.115', 1521L, 'ora9', 1, ''),
'vuls': [('612300200001', 1, '', [{'values': '["version"]', 'type': 0},
{'values': '["%E7%89%88%E6%9C%AC%E5%8F%B7"]', 'type': 1}]),
('612300200002', 1, '', [{'values': '["version"]', 'type': 0},
{'values': '["%E7%89%88%E6%9C%AC%E5%8F%B7"]', 'type': 1},
{'values': '["9.2.0.1.0"]', 'type': 2}])], 'endTime':123}, 1L, '\xe6\xb5\x8b\xe8\xaf\x95\xe6\x89\xab\xe6\x8f\x8f\xe4\xbb\xbb\xe5\x8a\xa1']

这个怎么解析呀,代码怎么写,我网上找的都是比较简单的json
最佳答案



import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

import net.sf.ezmorph.bean.MorphDynaBean;
import net.sf.json.JSONArray;
import net.sf.json.JSONSerializer;

public class JSONDemo {

public static final String PREFIX = "index_";

public static void main(String[] args) {
Map map = new HashMap();
String str ="[{'status': 5,'remarks': '\\xe6\\xa3\\x80\\xe6\\xb5\\x8b\\xe5\\xb7\\xb2\\xe7\\xbb\\x8f\\xe5\\xae\\x8c\\xe6\\x88\\x90','session': \"(1, '9.2.0.1.0', '192.168.177.115', 1521L, 'ora9', 1, '')\",'vuls': [\"('612300200001', 1, '', [{'values': '['version']', 'type': 0}, {'values': \'['%E7%89%88%E6%9C%AC%E5%8F%B7']\', 'type': 1}])\",\"('612300200002', 1, '', [{'values': '['version']', 'type': 0},{'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1},{'values': '['9.2.0.1.0']', 'type': 2}])\"], 'endTime':123}, 1L, '\\xe6\\xb5\\x8b\\xe8\\xaf\\x95\\xe6\\x89\\xab\\xe6\\x8f\\x8f\\xe4\\xbb\\xbb\\xe5\\x8a\\xa1']";

System.out.println("json格式字符串-->"+str);
JSONArray array = JSONArray.fromObject(str);
System.out.println("json格式字符串构造json数组元素的个数-->"+array.size());
ArrayList list = (ArrayList) JSONSerializer.toJava(array);

int i = 0;
for (Object obj : list) {
map.put(PREFIX+(i++), obj);
System.out.println("第"+i+"对象-->"+obj);
}
//解析第0个位置
Map bd = new HashMap();
MorphDynaBean bean = (MorphDynaBean) map.get(PREFIX+0);
bd.put("session", bean.get("session"));
bd.put("status", bean.get("status"));
bd.put("remarks", bean.get("remarks"));
bd.put("vuls", bean.get("vuls"));
bd.put("endTime", bean.get("endTime"));
Iterator iter = bd.keySet().iterator();
while (iter.hasNext()){
Object key = iter.next();
Object value = bd.get(key);
System.out.println("MorphDynaBean对象-->key="+key+",value="+value);
}

//解析vuls
ArrayList vuls = (ArrayList) bd.get("vuls");
Map vl = new HashMap();
int j = 0;
for (Object obj : vuls) {
vl.put(PREFIX+(j++), obj);
System.out.println("解析vuls的第"+i+"对象-->"+obj);
}

}
}

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
爱心育苗幼儿园(莆田仙游县)地址有知道的么?
金萍发廊地址在什么地方,我要处理点事
怎样才能快速的做好一个立体的正方形,回答好
饿了吃颗糖会不会发胖
19世纪三四十年代,欧洲无产阶级作为独立的政
内存卡里的文件删除还能找回来吗?
前几天去农行申请了信用卡,拿着房产证申请的
七巧板双语幼儿园(莆田仙游县)地址在哪,我要
水电五局的住房公积金激在哪里呢
弹尤克里里时大拇指是用指甲弹弦还是用侧面的
截至2009年12月31日,沪深两市共有A股账户137
海霞美发怎么去啊,我要去那办事
联通信号怎么那么差
阅读下列材料 材料一:“中国文武制度,事事
求问104平方的房子,实际使用面积有多少?
推荐资讯
榆坪村地址在什么地方,我要处理点事
企业预收货款业务不多的情况下,可以将预收的
星宇台球电玩城地址在哪,我要去那里办事
标的股票分红率对个股期权的价格有什么影响
晴天小狗怎么换狗?
根据门窗玻璃安装要求,单块玻璃大于()m2时应
C语言中怎样表示X的n次方(需要添加什么头文
哺乳动物的运动仅靠运动系统不能很好的完成,
白居易的《长恨歌》中写道:“春寒赐浴华清池
成语白璧无瑕的意思是什么啊?有知道释义的请
【葡萄架】学校的葡萄架作文
工行工作人员诱导存款变成买保险怎么投诉
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?