1.字符串转成json对象
String str = "{\"id\":1, \"name\":\"zzyy\"}"; // 方法一 JsonParser parser = new JsonParser(); JsonObject jobj = parser.parse(str).getAsJsonObject(); // 方法二 Gson gson = new Gson(); JsonObject jobj = gson.fromJson(str, new JsonObject().getClass());
2.json对象转成字符串
JsonObject json = new JsonObject(); json.addProperty("id", 1); json.addProperty("name", "zzyy"); String str = json.toString();
3.字符串转成java对象
class Person { private int id; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } } String str = "{\"id\":1, \"name\":\"zzyy\"}"; Gson gson = new Gson(); Person person = gson.fromJson(str, Person.class);
4.将json文件转成java对象
JsonReader reader = new JsonReader(new FileReader("filename")); Gson gson = new Gson(); Person[] persons = gson.fromJson(reader, Person[].class);
5.java对象转成字符串
Person person = new Person(); person.setId(1); person.setName("zzyy"); Gson gson = new Gson(); String str = gson.toJson(person);
注:将从json对象或者json数组中取出的值(为JsonElement)转化为字符串时,不能使用toString(),否则转成的字符串会多一对引号。要使用getAsString()。
好文章!666,学习了