Java - JSON Null异常

use*_*111 9 java null json exception

我正在使用JSON反序列化包含null某个hashmap属性值的输入字符串.有没有人知道为什么会发生这种异常?是否有可能null不接受作为值这是可配置的吗?

输入样本:

{"prop1":"val1", "prop2":123, "prop3":null}
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪:

net.sf.json.JSONException: null object
    at net.sf.json.JSONObject.verifyIsNull(JSONObject.java:2856)
    at net.sf.json.JSONObject.isEmpty(JSONObject.java:2212)
Run Code Online (Sandbox Code Playgroud)

谢谢.

hle*_*one 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);
Run Code Online (Sandbox Code Playgroud)

实际上,null价值成为了一个实例JSONNull.

JSONNull等价于JavaScript调用的值null,而Java null则等同于JavaScript调用的值undefined.