如何从此字符串创建JSONArray?

时间:2016-02-10 17:31:57

标签: java android arrays json gson

我有以下json字符串:

[{"username":"ddd","status":"Inactive"},{"username":"eee","status":"Inactive"}]

我使用Gson创建的格式来设置List<Map<String, Object>> userList...的Json字符串:

String jsonString = new Gson().toJson(userList);

我现在如何创建一个JSONArray,以便我可以迭代它并提取每个对象中的值?

2 个答案:

答案 0 :(得分:4)

将JSON字符串转换为JSONArray的最简单方法(如果字符串有效)就是这样,使用字符串jsonString作为参数:

JSONArray array = new JSONArray(jsonString);

然后你可以在循环中选择单个对象:

for (int i = 0; i < array.length(); i++) {
    JSONObject object = array.getJSONObject(i);
    String username = object.getString("username");
    String status = object.getString("status");
}

答案 1 :(得分:3)

如果jsonString是您的字符串,并且您希望将其转换回List<Map<String, Object>>尝试

Type type = new TypeToken<List<Map<String, Object>>>() { }.getType();
List<Map<String, Object>> listOfMap = gson.fromJson(jsonString, type);