java - 将 JSONArray 转换为 JSONObject 时发生 ClassCastException

标签 java android json

这是我的代码 fragment :

    jArray = jChild.getJSONArray("users");
                    for (int i = 0; i < jArray.length(); i++) {
                        JSONObject jObject = (JSONObject) jArray.get(i);    //Exception thrown in this line

}

编辑:

日志猫:

09-30 09:06:23.404: E/AndroidRuntime(4011): java.lang.RuntimeException: An error occured while executing doInBackground()
09-30 09:06:23.404: E/AndroidRuntime(4011):     at android.os.AsyncTask$3.done(AsyncTask.java:200)
09-30 09:06:23.404: E/AndroidRuntime(4011): Caused by: java.lang.ClassCastException: java.lang.String
09-30 09:06:23.404: E/AndroidRuntime(4011):     at com.example.DbAccess.loadMonthView(DbAccess.java:196)

这是我的 jsonArray:

 [{"uid":"6","status":"absent","name":"xyz"},{"uid":"7","status":"absent","name":"abc Paul"}]

我想从 JSONArray 检索 JSONObject

最佳答案

[ // represents json array node
    {     // represents json obeject node  
        "uid": "6",
        "status": "absent",
        "name": "xyz"
    },
    {
        "uid": "7",
        "status": "absent",
        "name": "abc Paul"
    }
]

你拥有的是一个 JSONArray。您需要解析这些值并获取字符串。

     JSONArray jr = new JSONArray("myjsonstring");
     for(int i=0;i<jr.length();j++)
     {
     JSONOBject jb = jr.getJSONObject(i);
     String uid = jb.getString("uid");
     String status = jb.getString("status");
     String name = jb.getString("name");  
     } 

关于java - 将 JSONArray 转换为 JSONObject 时发生 ClassCastException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19086180/

相关文章:

java - 在 Apache POI 中更改 pptx 幻灯片母版中的字体

java - 检查 Azure 连接的数据库 onClick 是否登录

java - 用 ASM 结果修改方法体 "Exceeded max stack size during"

android - whereArrayContains 限制为 10

java - JSON 字符串到集合 Java

python - 如何在 python 中向空 JSON 添加元素?

java - 代码效率: withoutX2

android - 更改 Facebook 和 Google 的登录按钮形状和样式

android:singleLine 的 TextView 不再在 "Deprecated"中?

javascript - 如何使用 Node.js 解析 JSON?