java - 无法获取 JSON 对象类型数组

标签 java android json arrays

我有以下代码

public static ArrayList<NameValuePair> getParticipants(String jData)throws JSONException{
    JSONObject jObj = new JSONObject(jData);
    ArrayList<NameValuePair> partyList = new ArrayList<NameValuePair>();
    JSONArray jPartyArr = jObj.getJSONArray("participate_users"); <-- ERROR HERE

    servResponse = (int) jObj.getInt("returnCode");
    if(servResponse == 1){
        for(int i=0; i<jPartyArr.length(); i++){
            JSONObject obj = jPartyArr.getJSONObject(i);
            partyList.add(new BasicNameValuePair("account", obj.getString("account_id")));
            partyList.add(new BasicNameValuePair("name", obj.getString("realname")));
        }

    }
    return partyList;
}

以及以下 JSON:

{
    "returnCode": "1",
    "result": {
        "chat_group_id": "82",
        "participate_users": [
            {
                "account_id": "328",
                "realname": "Jessica"
            },
            {
                "account_id": "360",
                "realname": "Chloe"
            }
        ]
    }
}

但是我收到以下错误:

org.json.JSONException: No value for participate_users

我有一种感觉,我不小心忽略了 JSON 格式。谁能指出我正确的方向吗?

谢谢

最佳答案

您需要低于一级。

试试这个 - JSONArray jPartyArr = jObj.getJSONObject("result").getJSONArray("participate_users");

关于java - 无法获取 JSON 对象类型数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21023326/

相关文章:

android - Android模拟器在哪里存储密码?

java - 尽管有缓冲,但从 Android 应用程序上传大文件会出现内存不足错误

java - Spring + Jackson + 反序列化通用对象列表

java - 正则表达式某些字符可以存在或不存在,但之后什么都没有

java - 如何通知另一个线程有关文件被修改的信息

java - jws 应用程序无法加载 swing-layout

json - Spring 3.0 异常在 POST 上将 String 转换为 java.util.Date

java - 可以单独访问的多个线程

android - 使用导航架构操作点击后退按钮时如何避免 fragment 重新创建?

python - kombu.exceptions.EncodeError : User is not JSON serializable 错误