2

我无法从键中获取值,因为键中有一个$。这是json对象:

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

如何处理带有特殊字符的键$

4

2 回答 2

1

字符串str未正确形成。您需要转义引号。尝试这个:

String str = "{\"$oid\":\"5168d0e0b280f084c3742800\"}";
于 2013-04-21T00:50:50.657 回答
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();
    }
于 2013-04-21T01:07:50.433 回答