本文介绍了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异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-14 15:29