所以我有一个包含多个JSONobjects的字符串,如下所示:
[{"一个":" 1"" 2":" 2""三&#34 ;: " 3"}, {"一个":" 4"" 2":" 5""三":" 6"}, {"一个":" 7"" 2":" 8""三":" 9"}]
如何使用java迭代此字符串并获取每个对象?是否可以使用JSON api,或者我应该自己制作解析器?
答案 0 :(得分:2)
GSON library是将java对象转换为json字符串的好选择,反之亦然。
在你的情况下,它是一个对象列表。
示例代码:
class MyPOJO {
private String one;
private String two;
private String three;
// getter & setter
}
String jsonString = "[{\"one\":\"1\",\"two\":\"2\",\"three\":\"3\"}, {\"one\":\"4\",\"two\":\"5\",\"three\":\"6\"}, {\"one\":\"7\",\"two\":\"8\",\"three\":\"9\"}]";
Type type = new TypeToken<ArrayList<MyPOJO>>() {}.getType();
ArrayList<MyPOJO> obj = new Gson().fromJson(jsonString, type);
System.out.println(new GsonBuilder().setPrettyPrinting().create().toJson(obj));
注意: java POJO类中变量的名称应与JSON字符串相同。
答案 1 :(得分:1)
你应该挑衅地使用Json API,你可以从here下载jar并简单地使用
JSONArray myArray = new JSONArray(yourString);
for (int i=0; i < myArray.length(); i++)
{
JSONObject currentOb = myArray.get(i);
doSomthing(currentOb);
}
答案 2 :(得分:0)