[英]Parse list of json string using GSON
我正在使用REST應用程序,並且從服務器獲得的響應是具有以下格式的Json字符串:
[{"car": "ford"}, {"car": "nissan"}, {"car": "bmw"}]
我想使用Gson通過該列表中的每個元素通過鍵檢索信息,但是由於它以字符串形式返回,因此我不確定該如何處理。
如果我只是得到以下答復:
String json = {"car:": "ford"};
然后,我可以按以下方式檢索汽車的價值:
Map<String,Object> result = new Gson().fromJson(json, Map.class);
System.out.println( result.get( "car" ) );
但是因為原始字符串是json的列表,所以比較困難。
幫助表示贊賞。 理想情況下仍使用Gson
類
謝謝
這將幫助您:
public static void main(String[] args) {
JsonParser jsonParser = new JsonParser();
String log = "[{\"car\": \"ford\"}, {\"car\": \"nissan\"}, {\"car\": \"bmw\"}]";
JsonArray jsonObject = jsonParser.parse(log).getAsJsonArray();
for (JsonElement jsonElement : jsonObject)
System.out.println(jsonElement.getAsJsonObject().get("car").getAsString());
}
您擁有的json字符串實際上是一個數組。 請嘗試以下方法:
String json = "[{\"car\": \"ford\"}, {\"car\": \"nissan\"}, {\"car\": \"bmw\"}]";
List<Map<String,Object>> result = new Gson().fromJson(json, List.class);
result.forEach(l ->{
l.forEach((k, v)->{
System.out.println(k + ": " + v);
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.