2010-03-16 12 views
7

estoy usando JSON deserializar una cadena de entrada que contiene un valor null de cierta propiedad HashMap. ¿Alguien tiene alguna pista de por qué ocurre esta excepción? ¿Es posible que null no se acepta como valor es configurable esta de alguna manera?Java - JSON Excepción nulo

muestra de entrada:

{"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) 

Gracias.

Respuesta

6

Para mí esto funciona con 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); 

En realidad el valor null se convierte en una instancia de JSONNull.

JSONNull es equivalente al valor que llamadas JavaScript null, mientras que Java de null es equivalente al valor que llamadas JavaScript undefined.

+0

Gracias por su respuesta. – thelost

Cuestiones relacionadas