我无法从密钥中获取值,因为密钥中包含$
。这是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
如何处理包含特殊字符$
的密钥?
答案 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();
}