2012-05-13 101 views
0
[{"name":"Mark","Surname":"Gaux"}] 
[{"Job":"2","Type":"Office"}] 

我有这个JSON回传PHP服务器上的文件,然后由我的Android应用程序接收。Android解析JSON多个阵列

因为我没有设法将两者合并成一个数组[],所以您注意到我有两个数组[] []。

try{ 

    JSONArray jArray = new JSONArray(response); 

      for(int i=0;i<jArray.length();i++){ 
       JSONObject json_data = jArray.getJSONObject(i); 
       jname = json_data.getString("name"); 
       jsurname = json_data.getString("Surname"); 
... 
} 

只是一个简单的例子:

当我有一个数组我用这个循环解析它在我的Android应用程序。

我对JSONArray和JSONObject有点困惑。 JSONArray是[]和JSONObject之间的任何内容都是{}之间的任何内容?

现在,我有两个数组,我怎么从一个循环到另一个?

或者我最好将它们合并成一个PHP数组并使用我使用的技术?

回答

1

如果你想送两个阵列在一个响应,你可以这样做:

[           
    [{"name":"Mark","Surname":"Gaux"}], 
    [{"Job":"2","Type":"Office"}] 
] 

全JSON字符串是JSONArray
getJSONArray(0)包含JSONObject s的nameSurname
getJSONArray(1)包含JSONObjectJobType

+0

我要去尝试一下。 你可能是对的,因为在我尝试使用jArray.toString()之前,它只返回第一个[]的内容。所以现在它应该返回big []的内容,但是如何读取大内部其他2 [] []的内容? – bubbly

+0

你不应该调用'toString'。您应该在'JSONArray'上调用'getJSONObject(index)'。 – Knickedi

+0

是的,我知道,我只是检查jArray的内容。 – bubbly