2013-04-21 2 views
2

키에 $이 있기 때문에 키에서 값을 가져올 수 없습니다. 출력은 그러나Json 특수 문자로 키에서 값을 얻는 방법 - json-simple

JSONParser parser = new JSONParser(); 
String str = "{\"$oid\":\"5168d0e0b280f084c3742800\"}"; 
JSONObject obj = (JSONObject)parser.parse(str); 

String oid = (String) obj.get("$oid"); 
System.out.println("oid: " + oid); 

: 여기 된 JSONObject입니다

내가 거기에 특수 문자 $와 키를 해결할 수있는 방법
oid: null 

?

답변

1

문자열 str이 제대로 형성되지 않습니다. 따옴표를 이스케이프 처리해야합니다. 이것을 시도하십시오 :

String str = "{\"$oid\":\"5168d0e0b280f084c3742800\"}"; 
+0

여전히 작동하지 않습니다. 문제는 "$"라고 생각합니다 –

+0

죄송합니다. 실제로 작동합니다. 잘못된 json 객체를 얻는 것은 내 실수입니다. 고마워 –

0

이것은 효과적입니다. 하지만 JSONParser를 사용하지 않았습니다.

String str = "{\"$oid\":\"5168d0e0b280f084c3742800\"}"; 
    JSONObject obj; 
    try 
    { 
     obj = new JSONObject(str); 
     String oid = (String) obj.get("$oid"); 
     System.out.println("oid: " + oid); 
     Toast.makeText(this, oid, Toast.LENGTH_SHORT).show(); 

    } 
    catch (JSONException e) { 
     e.printStackTrace(); 
    } 
관련 문제