Json如何从具有特殊字符的密钥中获取价值 - json-simple

时间:2013-04-21 00:45:47

标签: java json parsing json-simple

我无法从密钥中获取值,因为密钥中包含$。这是jsonobject:

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

如何处理包含特殊字符$的密钥?

2 个答案:

答案 0 :(得分:1)

字符串str未正确形成。你需要逃避报价。试试这个:

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

答案 1 :(得分: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();
    }