String ss1 = "{\"rsmstate\":1,\"msg\":\"\",\"data\":{}}";
String ss2 = "{\"rsmstate\":1,\"msg\":\"\"}";
String ss = "{\"rsmstate\":1,\"msg\":\"\",\"data\":\"\"}";
JSONObject jsonObject = JSONObject.parseObject(ss1);
// 创建一个空的 JSONObject
JSONObject emptyJsonObject = new JSONObject();
JSONObject jsonObject1 = jsonObject.getJSONObject("data");
boolean empty = jsonObject1.isEmpty();
System.out.println(empty);
上面有三个json,分别是ss1、ss2、ss;
ss2和ss都会报空指针,这里-->jsonObject1.isEmpty(),因为jsonObject1解析出来时null;
如果用ss1 输出结果是 ture;但是jsonObject1解析出来是{},不是空。
所以验证是不是没有数据,应该这样
if (jsonObject1!=null && !jsonObject1.isEmpty()) {
System.out.println("jsonObject1 不是空");
}