gpt4 book ai didi

java - 使用 GSON 创建 JSON 字符串

转载 作者:IT老高 更新时间:2023-10-28 23:30:24 25 4
gpt4 key购买 nike

我正在上课,

public class Student {
public int id;
public String name;
public int age;
}

现在我想创建新的学生,

//while create new student
Student stu = new Student();
stu.age = 25;
stu.name = "Guna";
System.out.println(new Gson().toJson(stu));

这给了我以下输出,

{"id":0,"name":"Guna","age":25} //Here I want string without id, So this is wrong

所以这里我想要类似字符串

{"name":"Guna","age":25}

如果我想编辑旧学生

//While edit old student
Student stu2 = new Student();
stu2.id = 1002;
stu2.age = 25;
stu2.name = "Guna";
System.out.println(new Gson().toJson(stu2));

现在输出是

{"id":1002,"name":"Guna","age":25} //Here I want the String with Id, So this is correct

如何创建一个带有字段 [在某些时候] 的 JSON 字符串,而没有字段 [在某些时候]。

任何帮助都将不胜感激。

谢谢。

最佳答案

更好的是使用@expose注解,比如

public class Student {
public int id;
@Expose
public String name;
@Expose
public int age;
}

并使用以下方法从您的对象中获取 Json 字符串

private String getJsonString(Student student) {
// Before converting to GSON check value of id
Gson gson = null;
if (student.id == 0) {
gson = new GsonBuilder()
.excludeFieldsWithoutExposeAnnotation()
.create();
} else {
gson = new Gson();
}
return gson.toJson(student);
}

如果设置为 0,它将忽略 id 列,或者它会返回带有 id 字段的 json 字符串。

关于java - 使用 GSON 创建 JSON 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26605763/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com