2010-03-16 46 views
7

Tôi đang sử dụng JSON để deserialize chuỗi đầu vào có chứa giá trị null cho thuộc tính băm nhất định. Có ai có bất kỳ đầu mối tại sao ngoại lệ này xảy ra? Có thể là null không được chấp nhận là một giá trị Có phải cấu hình này bằng cách nào đó không?Java - Ngoại lệ JSON Null

mẫu đầu vào:

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

Cảm ơn.

Trả lời

6

Đối với tôi đây làm việc với 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); 

Trên thực tế giá trị null trở thành một thể hiện của JSONNull.

JSONNull tương đương với giá trị mà hoạt Javascript gọi null, trong khi Java null tương đương với giá trị mà các cuộc gọi JavaScript undefined.

+0

Cảm ơn câu trả lời của bạn. – thelost

Các vấn đề liên quan