gpt4 book ai didi

java - 如何确定 JSON 键是否已设置为 null 或未提供

转载 作者:太空宇宙 更新时间:2023-11-04 10:01:41 25 4
gpt4 key购买 nike

我正在使用 gson 将 JSON 转换为我的 POJO。如果我没有在 JSON 中传递特定参数(整个参数,而不仅仅是值),它会自动初始化为 null。当我将该参数值作为 null 传递时,有没有办法找出上面的 null 和我得到的 null 之间的区别。

附注我无法更改从 JSON 到 POJO 的默认转换

最佳答案

在类中使用默认值。当字段不传入 json 字符串时,该值将是默认值。示例代码如下。

public class User {
private String name;
private String age="not set";

public String getAge() {
return age;
}

public void setAge(String age) {
this.age = age;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}

public class GsonClient {
public static void main(String[] args) {
String usersJson = "[ { \"name\": \"henry\" }, { \"name\": \"justin\",\"age\":null } ]";
Gson gson = new GsonBuilder().serializeNulls().create();
User[] usersWithAge = gson.fromJson(usersJson, User[].class);
for (User user : usersWithAge) {
System.out.println(user);
}
}
}

输出在这里

User{name='henry', age=not set}
User{name='justin', age=null}

关于java - 如何确定 JSON 键是否已设置为 null 或未提供,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53384815/

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