本文介绍了Java - JSON Null异常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用JSON反序列化包含某个hashmap属性的 null
值的输入字符串。有没有人知道为什么会发生这种异常?是否有可能 null
不被接受作为值这是可配置的吗?
I'm using JSON to deserialize an input string that contains a null
value for certain hashmap property. Does anyone have any clue why this exception occurs ? Is it possible that null
is not accepted as a value Is this configurable somehow ?
输入样本:
{"prop1":"val1", "prop2":123, "prop3":null}
stacktrace:
stacktrace:
net.sf.json.JSONException: null object
at net.sf.json.JSONObject.verifyIsNull(JSONObject.java:2856)
at net.sf.json.JSONObject.isEmpty(JSONObject.java:2212)
谢谢。
推荐答案
对我来说,这适用于json-lib-2.3-jdk15:
For me this works with 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
。
这篇关于Java - JSON Null异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!