Java:JSONObject isNull方法无法正常工作

问题描述

我需要你的帮助。我有像JSONObject

 JSONObject base = {"json" : {"key1" : "somethings","key2" : null}}

我已经写过这样的代码

JSONObject json = base.getJSONObject("json");

json.isNull("key2") // false

json.get("key2").getClass() // class.org.json.JSONObject$Null
json.opt("key2").getClass() // class.org.json.JSONObject$Null
JSONObject.NULL.getClass() // class.org.json.JSONObject$Null
json.get("key2").equals(JSONObject.NULL) // false

仅适用于:

 json.get("key2").equals(null) // true

在isNull()正常工作之前,我更改了JSON中的某些逻辑结构时,问题就浮现了。可能发生或改变了什么?

解决方法

您是否尝试过通过构造函数实例化JSON对象?

JSONObject base = new JSONObject ("{\"json\" : {\"key1\" : \"somethings\",\"key2\" : null}}")