json的解析报错

发现一个问题  json解析会异常第一次用的net.sf.json.JSONObject的包,解析一个不存在的键,getString()会发生异常,而用alilibaba的JSONObject则不会报错,最多只是一个null 

List<String> seedBrokers =new ArrayList<String>();
		net.sf.json.JSONObject sss = new net.sf.json.JSONObject();
		sss.put("aa", "fdsf");
		com.alibaba.fastjson.JSONObject parseObject = JSON.parseObject(sss.toString());
		String str = parseObject.getString("aa");
		System.out.println(str==null);
		System.out.println("---------------");
		
		
		String st="{\"actiontype\":\"heartbeat\"}";
//		 JSONObject jsonObject = JSONObject.fromObject(st);
		 com.alibaba.fastjson.JSONObject jsonObject = JSON.parseObject(sss.toString());
		 String hotelId = jsonObject.getString("hotelid");
		 String aa = jsonObject.getString("aa");
			String getroomid = jsonObject.getString("roomid");
		 System.out.println(hotelId+"\r\n"+getroomid+"==-="+aa);
		 JSONObject sssf=JSONObject.fromObject(jsonObject);
		 System.out.println("转换="+sssf);

以上方法有解析的,有net的jsonObject  与  alibaba的jsonObject 互转的过程,为什么会有这个问题呢,因为用的netty 只要这个socket 过程有一个try catch 他就会 到 handler的 exceptionCaught()  方法,然后就会发邮件提醒,所以感觉这是个误操作,因为要兼容 v1  v2版本,他们的字段即键 是不相同的所以有时候是误报,这样就引申出来这个互转了,以后的话尽量用阿里的 json解析,兼容削微好一点,fastjson 还是相当好用的。

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值