2017-04-12 135 views
0

我有以下的字符串,(據我所知)是有效的格式無法解析字符串JSONArray

[ 
    { 
     "name":"John Doe" 
    }, 
    { 
     "name":"Jane Doe" 
    } 
] 

致電以下後:

return new JSONArray(jsonString); 

隨着jsonString感上面給出的JSON。我收到以下錯誤:

org.json.JSONException: Value jsonString of type java.lang.String cannot be converted to JSONArray 

任何想法爲什麼解析器不接受字符串?

編輯

的問題已經解決。該數組在JSON輸出中被編碼爲一個字符串。我首先使用getString(param)方法檢索字符串,而不是直接用getJsonArray將其轉換,然後將字符串轉換爲json數組。

+0

您如何在Java代碼中表示JSON?換句話說,它是如何從你發佈的JSON塊變成一個'String'變量?我只是試圖把你的JSON放入一個'String'中並且轉義所有的引號,並且它工作正常。你還在使用什麼版本的'org.json.json'? – Adam

+0

如果您正在從文件中讀取json,請確保您負責編碼文件。 –

+0

我將JSON表示爲JSON對象。線程中的塊是鍵「data」的字符串值。首先,我將整個JSON塊轉換爲一個'JSONObject'。在那之後,我試着通過調用getJSONArray(「data」)來獲得數組下的'data'數組。該字符串被正確轉義。 – CPUFry

回答

0

問題已解決。該數組在完整的JSON輸出中被編碼爲一個字符串。我首先使用getString(param)方法檢索字符串,而不是直接用getJsonArray將其轉換,然後將字符串轉換爲json數組。