2010-03-16 4 views
7

특정 해시 맵 속성에 대해 null 값을 포함하는 입력 문자열을 역 직렬화하기 위해 JSON을 사용하고 있습니다. 아무도이 예외가 발생하는 어떤 단서가 있습니까? null이 값으로 허용되지 않을 수 있습니까? 어떻게 구성 할 수 있습니까?Java - JSON Null 예외

입력 샘플 :

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

스택 트레이스 :

net.sf.json.JSONException: null object 
    at net.sf.json.JSONObject.verifyIsNull(JSONObject.java:2856) 
    at net.sf.json.JSONObject.isEmpty(JSONObject.java:2212) 

감사합니다. 나이 들어

답변

6

는 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의 인스턴스가됩니다. 자바의 null 자바 스크립트 undefined를 호출하는 값에 해당하는 동안

JSONNull, 자바 스크립트가 null를 호출 값에 해당합니다.

+0

답장을 보내 주셔서 감사합니다. – thelost