2015-07-21 56 views
1

好傢伙,這是我的JSON響應:的Android Jsonarray不能轉換成JSON對象

[ 
    { 
    "Woa": [ 
    "Seo", 
    "Rikjeo", 
    "JDa" 
    ] 
    }, 
"Aha", 
"Aad", 
"Char" 
] 

我要添加到列表籲的字符串:

{ 
    "Woa": [ 
    "Seo", 
    "Rikjeo", 
    "JDa" 
    ] 
    } 

這是我做了什麼到目前爲止:

JSONObject object = new JSONObject(result); 
      JSONArray a = object.getJSONArray("Woa"); 
      for (int i = 0; i < a.length(); ++i) { 
       listWoa.add(a.getString(i)); 
      } 

但我發現了這個錯誤:

type org.json.JSONArray cannot be converted to JSONObject 

任何想法,爲什麼我沒有得到任何字符串,無法轉換爲JSONObject。

+0

您的回覆是在JSONArray不是在JSONObject – SANAT

+0

那麼我該如何解決這個問題? –

+0

對象是第一個數組。所以使用object [0] .getJSONArray(「Woa」); – Raghavendra

回答

3

爲了解析上述JSON響應。嘗試下面的代碼:

 JSONArray jsonArray = new JSONArray(result); 
     JSONObject jsonObjWoa = jsonArray.getJSONObject(0); 
     JSONArray jsonArrayWoa = jsonObjWoa.getJSONArray("Woa"); 
     for (int i = 0; i < jsonArrayWoa.length(); ++i) { 
      listWoa.add(jsonArrayWoa.getString(i)); 
     } 
+0

謝謝兄弟!這工作。 –

1

做這樣的事情:

JSONArray jsonArray = new JSONArray(result); 
JSONObject object = new JSONObject(jsonArray.get(0).toString());// if you have only one element then get 0th index 
JSONArray a = object.getJSONArray("Woa"); 
for (int i = 0; i < a.length(); ++i) { 
     listWoa.add(a.getString(i)); 
    } 
+0

我得到無法解析新的JSONObject(jsonArray.get(0))中的構造函數; –

+0

append'.toString()'我編輯了我的答案。 – Pankaj

2

你JSON是一個數組,其中第一個項目是一個對象

[        << This is an array (let's call it A) 
    {         << This is A[0] 
    "Woa": [ 
    "Seo", 
    "Rikjeo", 
    "JDa" 
    ] 
    }, 
"Aha",        << This is A[1] == "AhA" 
"Aad",        << This is A[2] == "aad" 
"Char"        << This is A[3] == "Char" 
] 

,如此,(的 「東西」 的列表)[0 ]爲對象:

{       << This is an object (A[0]) 
    "Woa": [      << This is A[0].Woa (it's an array) 
    "Seo",       << This is A[0].Woa[0] == "Seo" 
    "Rikjeo",      << This is A[0].Woa[1] == "Rikjeo" 
    "JDa"       << This is A[0].Woa[2] == "JDa" 
    ] 
    } 

容易的方法不混合在JSON陣列和OBJETS是這樣的:

[...] is an array 
{...} is an object 
0

從我的角度來看:我會用GSON自動解析JSON和這個網站來生成POJO。

http://www.jsonschema2pojo.org/ 請務必點擊:GSON作爲註釋風格,並使用JSON而不是JSON格式