我开始使用JSON:为什么JSONObject.optString将垃圾添加到我的字符串?
{
"Key1" : "Value1",
"Key2" : "Value2"
}
我然后硬编码此JSON字符串中的:
String json = "{ \"Key1\" : \"Value1\", \"Key2\" : \"Value2\" }";
接下来,我试图解析JSON:
JSONObject content = null;
try {
content = new JSONObject(json);
} catch (JSONException e) {
e.printStackTrace();
return null;
}
String key1 = content.optString("Key1", null);
如果我查看从调用JSONObject创建的散列表,它看起来是正确的:
{Key2=Value2, Key1=Value1}
但是,当我看到在调试器中的字符串键1的值,我得到这个:
[V, a, l, u, e, 1, U, U, U, U, U, U, U, U, U, U]
其中U似乎是Unicode字符25A1(白方)。我也试过了泛型get(“Key1”)方法,将结果转换为字符串,我得到相同的行为?!???????????
以下是什么回报? '“Value1”.equals(key1);' –
也许我在这里走了,但定义一个像这样的JSON对象似乎对所有转义字符都很痛苦。你有没有尝试过使用myJsonObject.put(string key,object value)来查看存储的内容? – Jack
@Jack这很痛苦,但它只是一个简单的黑客疑难解答。 –