-1
    public void HelloWord {
       for (int i = 0; i < 20; i++) {
             Log.d("Great");
       }
    }

上面的代码不起作用,为什么?我尝试获取值名称有人知道问题出在哪里吗?

org.json.JSONException:值...链接内容...在 org.json.JSON.typeMismatch 在 org.json.JSONArray。

4

2 回答 2

1

我更喜欢使用GSON 库,因为它是一个快速有效的 JSON 解析器。一旦添加到项目中,您将需要创建类来表示返回的数据。然后,您可以调用单个函数为您创建对象:

gson.fromJson();

可以在http://www.javacodegeeks.com/2011/01/android-json-parsing-gson-tutorial.html找到一篇关于 GSON 使用的非常好的文章- 它甚至使用 Twitter 作为示例。

于 2012-04-11T18:29:41.280 回答
0

我认为您缺少 JSON 的工作方式。里面的任何东西{}都是一个对象,而[]指定一个数组。所以 twitter 提要的根是 JSONObject,而不是 JSONArray:

尝试更多类似的东西:

JSONObject obj = new JSONObject(mStringBuilder.toString());
JSONObject trends = obj.getJSONObject("trends");
JSONArray today = trends.getJSONArray("2012-04-10");
for (int i = 0; i < today.length(); i++) {
  JSONObject tag = today.getJSONObject(i);
  String name = tag.getString("name");
  // do whatever with name
}

更容易,并且更清楚它是如何工作的。JSONObjects 是字典,在键和值之间具有简单的映射 - 每个 Object ( {}) 可以包含更多对象,或者数组 ( []) 可以包含简单整数或更多对象

于 2012-04-11T18:04:46.067 回答