Java - пустая исключительная ситуация JSON

Я использую JSON для десериализации входной строки, которая содержит a null значение для определенного hashmap свойства. У кого-либо есть какая-либо подсказка, почему это исключение происходит? Действительно ли это возможно это null не принят, поскольку значение - это настраивающееся так или иначе?

входной образец:

{"prop1":"val1", "prop2":123, "prop3":null}

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)

Спасибо.

9
задан user1112111 16 March 2010 в 16:18
поделиться

1 ответ

Для меня это работает с 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 .

7
ответ дан 4 December 2019 в 23:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: