2013-09-21 1 views
1

net.sf.json.JSONObject을 사용하고 있습니다. 내 값이 null이면 key을 제거합니다. put 메소드를 사용하여 Json 객체에 데이터를 저장하려고 시도하는 중입니다.net.sf.json.JSONObject에 null 값이있는 키를 넣을 수 있습니까?

을 내 개체가 그대로 유지할 수있는 방법이 있습니까?

예 :

 JSONObject json = new JSONObject(); 
json.put("myKey",null); 

그런 다음 내 출력은 다음과 같습니다 {}

하지만

출력합니다 : {"myKey",""}

내가 어떻게 할 수 있습니까?

답변

7
json.put("myKeyu",JSONObject.NULL); 

세부 사항 here.

+0

안녕하세요. 내 경우에는 가능하지 않습니다. 내 값이 데이터베이스에서 동적으로 제공됩니다. 그래서 그것은 null 일 수도 있고 아닐 수도 있습니다. –

+2

이렇게하지 않는 이유는 무엇입니까? json.put ("myKeyu", value == null? JSONObject.NULL : value); – Archer

+0

네 말이 맞아. 우리가 할 수는있어.하지만 이미 내 응용 프로그램을 개발 했어. 나는 한 곳에서만 변화해야하는 세계적인 해결책을 원해. json에 가치를두면, 나는 변화를해야한다. 일부 JsonConfig로는 불가능할 수 있습니까? –

0

JSONObject.NULL은 Apache Commons JSONObject 용입니다.

는 대신 다음보십시오 :

json.put("key", JSONNull.getInstance()) 

여기 net.sf.json.JSONObject 설명서를 다음과
http://json-lib.sourceforge.net/apidocs/index.html

자세한 내용을 찾을 수 JSONNull를 검색합니다.