Java - JSON Null 异常

9
我正在使用JSON反序列化一个包含某个哈希映射属性的null值的输入字符串。有人知道为什么会出现这个异常吗?是否可能null不被接受作为一个值?这是否可以进行配置?
输入示例:
{"prop1":"val1", "prop2":123, "prop3":null}

堆栈跟踪:

net.sf.json.JSONException: null object
    at net.sf.json.JSONObject.verifyIsNull(JSONObject.java:2856)
    at net.sf.json.JSONObject.isEmpty(JSONObject.java:2212)

谢谢。
1个回答

7

对我而言,使用json-lib-2.3-jdk15可以实现这个功能:

String json = "{\"prop1\":\"val1\", \"prop2\":123, \"prop3\":null}";
JSONObject jsonObject = JSONObject.fromObject(json);
HashMap<String, Object> map = (HashMap<String, Object>) JSONObject.toBean(jsonObject, HashMap.class);

实际上,null值变成了一个JSONNull实例。

JSONNull等同于JavaScript中的null值,而Java中的null等同于JavaScript中的undefined值。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接