[英]Java: Loop through JSON string (cant convert to JsonArray (gson)
我通過api得到一個json對象:
Gson gson = new Gson();
JsonObject users = gson.fromJson(reader, JsonObject.class)
這是我的json對象:
{"users":"[{\"user_id\": \"100011\", \"name\": \"Tim Clark\"}, {\"user_id\": \"100083\", \"name\": \"Timmy Kent\"}]"}
我嘗試遍歷所有用戶
JsonArray usersArray = users.getAsJsonArray();
for (JsonElement ua : usersArray) {
JsonObject ua = ua.getAsJsonObject();
String name = ua.get("name").getAsString();
System.out.println(name);
}
也嘗試過
JsonArray usersArray = users.get("users").getAsJsonArray();
for (JsonElement ua : usersArray) {
JsonObject ua = ua.getAsJsonObject();
String name = ua.get("name").getAsString();
System.out.println(name);
}
但我總是這樣的例外
java.lang.IllegalStateException: Not a JSON Array: "[{\"user_id\": \"100011\", \" ....
我認為這是一個有效的json數組,我想念什么?
您的JsonArray在引號之間:它被評估為String
{"users":[{\"user_id\": \"100011\", \"name\": \"Tim Clark\"}, {\"user_id\":
\"100083\", \"name\": \"Timmy Kent\"}]}
應該可以工作(數組中的引號也不需要像“用戶”一樣轉義)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.