2013-04-21 29 views
2

我無法從鍵獲取值,因爲鍵中有一個$。這裏是的JSONObject: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); 

但是輸出是:

oid: null 

我該如何處理與它特殊字符$的關鍵?

回答

1

字符串str未正確形成。你需要避開引號。試試這個:

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

仍然不起作用。我認爲問題是「$」 – 2013-04-21 01:00:39

+0

我很抱歉。其實它的作品。得到錯誤的json對象是我的錯誤。謝謝 – 2013-04-21 01:19:59

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(); 
    }