【问题标题】:Exception while converting "JSONArray cannot be converted to JSONObject error"转换“JSONArray 无法转换为 JSONObject 错误”时出现异常
【发布时间】:2013-04-22 19:55:08
【问题描述】:

我有那个 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 错误”

【问题讨论】:

  • trends 是异常状态的数组。
  • 是的。解决方案?
  • @ExtremeProgrammer 我猜在getJSONObject 方法附近有一个getJSONArray 方法?

标签: java android json


【解决方案1】:

从您的 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... ^^

【讨论】:

  • 是的,那如何解析呢?
  • 您只需将趋势读取为数组trends = JSONArray("trends"),然后遍历它们。
  • 是的,明白了,感谢您的快速回复:高度赞赏:
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多