2010-09-07 54 views
2

我有一個stringAndroid應用程序,我試圖將其轉換爲JSONObject。該string看起來是這樣的(除了時間更長,實際值,而不是虛擬值我進入這裏):org.json.JSONObject構造函數不接受似乎是有效的JSON字符串

[[{"1":"a"}],[{"1a":"1a","1b":"1b"},{"2a":"2a","2b":"2b"}]] 

我已經進入這個確切string分爲兩個在線JSON validator s,而他們都確認它是有效的JSON data。所以我會假設JSONObject構造函數將能夠接受這個字符串並將其轉換爲JSONObject。但是,當我嘗試:

json = new JSONObject(result); 

其中「結果」是上面列出包含字符串一個字符串變量,我得到以下異常:

JSONException: A JSONObject text must begin with '{' at character 1 of [[{"1":"a"}],[{"1a":"1a","1b":"1b"},{"2a":"2a","2b":"2b"}]] 

這是怎麼回事? JSONObject的解析器是否損壞?

回答

8

您正試圖創建一個JSONObject,但實際上給它的是一個JSONArray。你有沒有嘗試創建一個JSONArray?

或者,您可以將數組包裝在一個對象中,以便您可以創建一個JSONObject。

+1

好,好。這正是問題所在。爲什麼我沒有看到?非常感謝你。 – 2010-09-07 22:57:24

+0

JSONObject jsonObject = new JSONObject(json.toString())...此行引發錯誤,指出「找不到適合JSONObject(String)的構造函數」 – 2017-12-14 06:27:23

0

我建議使用GSon library,因爲它看起來更加全面。

此外,它可能會有所幫助使用this tool來測試您的數據(您的數據是有效的BTW):

相關問題