gpt4 book ai didi

java - 如何在java中将无名对象转换为JSON(使用GSON)?

转载 作者:行者123 更新时间:2023-12-02 01:20:06 26 4
gpt4 key购买 nike

我正在编写一个使用 gson 返回 JSON 对象的程序,我发现了一些奇怪的东西。基本上,当我想将以下对象转换为 JSON 时,它给了我 null。

Customer customer = new Customer() {
{
setId(1);
setName("Foo bar");
setAddress("Some Address");
}
};
System.out.println(gson.toJson(customer));

客户看起来像这样

public class Customer{
int id;
String name;
String address;
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;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}

但是当我像这样正确创建对象时

Customer customer = new Customer();
customer.setId(1);
customer.setName("Foo bar");
customer.setAddress("Some Address");
System.out.println(gson.toJson(customer));

它工作得很好,并按预期输出。为什么我如何创建对象很重要?两种方法有区别吗?

最佳答案

第一种情况返回 null 的原因是“客户”对象的类是匿名类,clazz.isAnonymousClass() 返回 true

请参阅下面的 GSon 实现

enter image description here

关于java - 如何在java中将无名对象转换为JSON(使用GSON)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57870441/

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