【问题标题】:Android parsing JSON multiple arraysAndroid解析JSON多个数组
【发布时间】:2012-05-13 19:41:03
【问题描述】:
[{"name":"Mark","Surname":"Gaux"}]
[{"Job":"2","Type":"Office"}]

我有这个 JSON 由服务器上的 PHP 文件回显,然后由我的 Android 应用程序接收。

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

当我有一个数组时,我使用这个循环在我的 Android 应用程序中解析它:

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");
...
}

只是一个简单的例子。

我对 JSONArray 和 JSONObject 有点困惑。 JSONArray 是 [] 之间的任何东西,而 JSONObject 是 {} 之间的任何东西?

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

或者我最好将它们从 PHP 合并到一个数组中并使用我现在使用的技术?

【问题讨论】:

    标签: android json


    【解决方案1】:

    如果您尝试在一个响应中发送两个数组,您可以这样做:

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

    整个 JSON 字符串是 JSONArray:
    getJSONArray(0) 包含 JSONObjects 和 nameSurname
    getJSONArray(1) 包含 JSONObjects 和 JobType

    【讨论】:

    • 我要试试。你可能是对的,因为在我尝试 jArray.toString() 之前它只返回第一个 [] 的内容。所以现在它应该返回大 [] 的内容,但是我如何读取大 [] 中的其他 2 [] [] 的内容?
    • 你不应该打电话给toString。您应该在JSONArray 上致电getJSONObject(index)
    • 是的,我知道,我只是在检查 jArray 的内容。
    • 你确定它是这样工作的吗?因为我看到的是一个包含其他两个数组的数组,然后每个数组都有一个对象。所以如果你说 getJSONArray(0) 那里确实没有 JSONObject 但有一个数组。没有?
    • 是的,当然。数组中有两个数组,这两个数组包含您要读取的对象。如果您需要其他内容,则应在问题中更清楚地说明。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-11
    • 2015-03-19
    • 1970-01-01
    相关资源
    最近更新 更多