我開始使用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這很痛苦,但它只是一個簡單的黑客疑難解答。 –