Java JSONUtils.isNull返回false。但JSON字符串中没有任何元素
我不知道我是否用错了方法? 但当我执行这行代码时:Java JSONUtils.isNull返回false。但JSON字符串中没有任何元素,java,json,Java,Json,我不知道我是否用错了方法? 但当我执行这行代码时: JSONUtils.isNull(Score.JSON_SCORE_QUESTION)?null:json.getLong(Score.JSON_SCORE_QUESTION) 在该json字符串上(其中Score.json\u Score\u QUESTION是键“qs”): isNull始终返回false 我是否需要另一种方法?“测试obj是否是javaScriptnull(即是JSONNull)”,但字符串(例如“qs”)在任何适用上下
JSONUtils.isNull(Score.JSON_SCORE_QUESTION)?null:json.getLong(Score.JSON_SCORE_QUESTION)
在该json字符串上(其中Score.json\u Score\u QUESTION
是键“qs”):
isNull
始终返回false
我是否需要另一种方法?“测试obj是否是javaScriptnull
(即是JSONNull
)”,但字符串(例如“qs”)在任何适用上下文中都不是null。此函数用于处理值,与属性无关。(由于是静态的,它无法使用json
对象中的数据!)
相反,(或containsKey
)应用于确定属性的存在性:
Long score = json.has(Score.JSON_SCORE_QUESTION)
? json.getLong(Score.JSON_SCORE_QUESTION)
: null; /* or use a long primitive and provide a default */
或者,以下方法可能有效(YMMV):
Long score = json.has(Score.JSON_SCORE_QUESTION)
? json.getLong(Score.JSON_SCORE_QUESTION)
: null; /* or use a long primitive and provide a default */
Long score = (Long)json.get(Score.JSON_SCORE_QUESTION);