public void HelloWord {
for (int i = 0; i < 20; i++) {
Log.d("Great");
}
}
上面的代码不起作用,为什么?我尝试获取值名称有人知道问题出在哪里吗?
org.json.JSONException:值...链接内容...在 org.json.JSON.typeMismatch 在 org.json.JSONArray。
我更喜欢使用GSON 库,因为它是一个快速有效的 JSON 解析器。一旦添加到项目中,您将需要创建类来表示返回的数据。然后,您可以调用单个函数为您创建对象:
gson.fromJson();
可以在http://www.javacodegeeks.com/2011/01/android-json-parsing-gson-tutorial.html找到一篇关于 GSON 使用的非常好的文章- 它甚至使用 Twitter 作为示例。
我认为您缺少 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 ( {}
) 可以包含更多对象,或者数组 ( []
) 可以包含简单整数或更多对象