我有以下json字符串:
[{"username":"ddd","status":"Inactive"},{"username":"eee","status":"Inactive"}]
我使用Gson
创建的格式来设置List<Map<String, Object>> userList...
的Json字符串:
String jsonString = new Gson().toJson(userList);
我现在如何创建一个JSONArray,以便我可以迭代它并提取每个对象中的值?
答案 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);