java 中判断JSONObject为空


目前发现有两种包.两种不一样的json包.
第一种情况是: json包是json-lib包是net.sf.json

怎样判断JSONObject返回的是字符串null还是null值.

研究源码发现.JSONObject里有一段代码是当遇到json串中是null的时候.返回JSONNUll.
所以区分null时这样:
JSONObject jo = JSONObject.fromObject("{a:null,b:\"null\"}");
Object o = jo.get("a");
if(o instanceof JSONNull){
System.out.println("Is empty null");
}else{
System.out.println("is String null");
}
o = jo.get("b");
if(o instanceof JSONNull){
System.out.println("Is empty null");
}else{
System.out.println("is String null");
}
输入的结果为
JSONObject 判断字符串null还是null值 - ckaaaa - ckaaaa
 
第二种情况是: org.json的包
 
JSONObject jo = new JSONObject(("{\"a\":\"null\",\"b\":null}"));
if(jo.get("a") instanceof String){
System.out.println("a is String null");
}else{
System.out.println("a is empty null");
}
if(jo.get("b") instanceof String){
System.out.println("a is String null");
}else{
System.out.println("a is empty null");
}
System.out.println(jo.get("b").getClass());
JSONObject 判断字符串null还是null值 - ckaaaa - ckaaaa
 这时候发现.返回的null是JSONObject.NUll
两种包不一样的返回NUll值


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM