所以我有一个包含多个 JSONobject 的字符串,如下所示:
[{"one":"1","two":"2","three":"3"}, {"one":"4","two":"5","three":"6"}, {"one":"7","two":"8","three":"9"}]
我如何使用 java 迭代这个字符串并获取每个对象?是否可以使用 JSON api,或者我应该自己制作解析器?
最佳答案
GSON library是将 java 对象转换为 json 字符串的好选择,反之亦然。
- 将 json 转换为 java 对象使用:fromJson(String, Class)
- 要将 java 对象转换为 json 字符串,请使用: toJson(Object)
在您的例子中,它是一个对象列表。
示例代码:
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 字符串相同。
关于java - 从字符串中获取 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24726402/