2010-03-16 18 views
7

मैं एक इनपुट स्ट्रिंग को deserialize करने के लिए JSON का उपयोग कर रहा हूं जिसमें कुछ हैशप संपत्ति के लिए null मान शामिल है। क्या किसी के पास कोई संकेत है कि यह अपवाद क्यों होता है? क्या यह संभव है कि 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-लिब-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

संबंधित मुद्दे