在Java中,如何将包含数组的String转换为实际的Array

时间:2015-01-19 02:46:26

标签: java android arrays

我在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);

我怎么能用阵列做到这一点?

由于

4 个答案:

答案 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);