0

我是 JSON 新手,我的问题可能不是很难,但我找不到处理我的目的的方法。我正在尝试开发代码,以便我可以管理一些 JSON 内容。在我的情况下,JSON信息是:

{"posts":[{"id":1a00b,"name":"Michael Thomson","info":"he is crazy"},
{"id":18,"name":"Jason Williams","info":"he is tall"}]}

现在,我想从每个 JSON 对象中获取字符串(使用 Java)。这是我开发的代码:

HttpResponse response = httpclient.execute(httppost);           
String jsonResult = inputStreamToString(response.getEntity().getContent()).toString();                      
JSONArray jsonArray = jsonResult.getJSONArray("posts");

for (int i = 0; i < jsonArray.length(); i++) 
{
     JSONObject childJSONObject = jsonArray.getJSONObject(i);
     String id = childJSONObject.getString("id");
     String name = childJSONObject.getString("name");
     String info = childJSONObject.getString("info");
}

该错误似乎与以下句子有关:

JSONArray jsonArray = jsonResult.getJSONArray("posts");

方法 getJSONArray(String) 未为 String 类型定义

这些是我用来处理的库

import org.json.JSONException;
import org.json.JSONObject;
import org.json.JSONArray; 

非常感谢您!

4

1 回答 1

2

jsonResult 是一个字符串。您需要先将其转换为 JSONObject。

JSONObject obj = new JSONObject(jsonResult);
JSONArray jsonArray = obj.getJSONArray("posts");
于 2013-08-29T18:24:55.673 回答