java gson的使用

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()。

1 Reply to “java gson的使用”

发表评论