java - 转换时出现异常 "JSONArray cannot be converted to JSONObject error"

标签 java android json

我有 JSON 响应

           {"as_of":"2013-04-22T19:50:41Z","trends":[{"events":null,
            "query":"%23RhymeATweepsName","url":"http:\/\/twitter.com\/search?
            q=%23RhymeATweepsName","promoted_content":null,
            "name":"#RhymeATweepsName"},                
            {"events":null,"query":"%23EarthDayPK","url":
            "http:\/\/twitter.com\/search?
            =%23EarthDayPK","promoted_content":null,"name":
            "#EarthDayPK"}],"locations":
            [{"woeid":*******,"name":"********"}],"created_at":"2013-04-22T19:38:16Z"}

我正在使用以下代码解析它

             jArray = new JSONArray(result);
                JSONObject post = null;
                for (int ii = 0; ii < jArray.length(); ii++) {
                    post = jArray.getJSONObject(ii);
                     String name = post.getJSONObject("trends").getString("name") + "\n";
                }
            }

但它抛出异常“JSONArray无法转换为JSONObject错误”

最佳答案

如 JSON 中所示,trends 不是 JSONObject,而是 JSONArray:

"trends":[
    {
        "events":null,
        "query":"%23RhymeATweepsName",
        "url":"http:\/\/twitter.com\/search? q=%23RhymeATweepsName",
        "promoted_content":null,
        "name":"#RhymeATweepsName"
    },
    {
        "events":null,
        "query":"%23EarthDayPK",
        "url":"http:\/\/twitter.com\/search? =%23EarthDayPK",
        "promoted_content":null,
        "name":"#EarthDayPK"
    }
]

你应该像这样解析它:

String name = post.getJSONArray("trends").getJSONObject(0).getString("name");
//                                        or iterate... ^^

关于java - 转换时出现异常 "JSONArray cannot be converted to JSONObject error",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16155578/

相关文章:

java - 使用 XPath 解析 xml 以获取单个值返回空字符串

android - MediaCodec 编码忽略了我的 BUFFER_FLAG_SYNC_FRAME 标志

objective-c - NSDictionary 到 TableView

java - 给定节点的定义,计算二叉树中节点的总和

java - 如何在 GreenDao 中更新为 "UPDATE table SET col1=' val 1'"

java - fragment 内的 ManagedQuery()

Android API 21 22 datepicker 年份选择错误?

java - 通过java在snappy数据中插入json对象时出现错误

json - 为什么我的 Linux 版本的 Logstash 不通过换行写入输出文件

java - 如何在JPA中保存外键实体