我在Java中开发Android,并使用HttpUrlConnection连接到API并获得响应。 我得到的响应是String包含和这样的数组:
[{"_id":"1","user":{"_id":"a","displayName":"usuario"},"nombre":"DuckGo","url":"http://www.duckgo.com","created":"2014-12-25T21:30:42.546Z","veces_usado":0,"icono":"","__v":0},
{"_id":"2","user":{"_id":"b","displayName":"usuario"},"nombre":"Wolfram","url":"http://www.wolfram.com","created":"2014-12-25T21:30:00.775Z","veces_usado":0,"icono":"","__v":0}]
根据我的阅读,我知道包含JSON的String可以成为一个实际的JSON:
JSONObject jsonObjecto= new JSONObject(jsonString);
我怎么能用阵列做到这一点?
由于
答案 0 :(得分:1)
与JSONObject
相同,但您说:
new JSONArray(jsonString);
答案 1 :(得分:0)
您可能想要查看json-simple API。您可以使用它来随意挑选整个JSON字符串。
https://code.google.com/p/json-simple/
Android还具有自行解析JSON的功能。这有点像json-simple。
根据自己的喜好进行解析后,您可以创建一个字符串数组,遍历JSON并存储已解析的字符串值。
答案 2 :(得分:0)
由于根JSON对象是您的案例中的数组,因此您将使用JSONArray
解析输入
try {
JSONArray rootArray = new JSONArray(inputJSON);
JSONObject firstJSONObj = rootArray.getJSONObject(0);
System.out.println(
firstJSONObj.getJSONObject("user").getString("displayName") // prints "usuario"
);
} catch (JSONException e) {
e.printStackTrace();
}
查看JSONArray文档,了解有关可用方法的更多信息。
答案 3 :(得分:0)
我从你的帖子中假设。您需要将json
字符串转换为java bean object
。如果它是正确的,你可以使用简单的Gson库,那将使用类似的方法将json字符串转换为java对象,
BeanObj beanObj=gson.fromJson(jsonString, BeanObj.class);