gpt4 book ai didi

java - 由于缺少私有(private)字段,将 json 解析为 myObj 失败

转载 作者:行者123 更新时间:2023-12-02 14:02:52 25 4
gpt4 key购买 nike

我想反序列化 json 集合

{{a:"1", b:"2"},{a:"6", b:"5"},{a:"4", b:"3"}}

到这个对象:

{公共(public)字符串 a,公共(public)字符串 b,私有(private)字符串 c}。

我正在使用Gson

`mOffersList.addAll((Collection<? extends Offer>) gson.fromJson(result, collectionType));`

我的代码失败,因为无法填充成员 c。

我用谷歌搜索发现我可以使用@expose注释来删除字段的序列化。

但是我怎样才能实现另一种方式呢?意思是,不填充对象中的冗余字段?

我有很多成员需要曝光,而只有少数成员需要隐藏。

最佳答案

如果我正确地理解了你原来的问题,你就有了一个对象:

public class MyObject {
public String a;
public String b;
private String c;

public String toString() {
return a + " " + b + " " + c;
}
}

以及格式为以下的 JSON:

{a:\"1\", b:\"2\"}

您想要实现的目标是将 JSON 反序列化为 MyObject 而不填充 C:

String json = "{a:\"1\", b:\"2\"}";
Gson g = new Gson();
MyObject myObject = g.fromJson(json, MyObject.class);
System.out.println(myObject);

这将打印出1 2 null,这是你想要的吗?

关于java - 由于缺少私有(private)字段,将 json 解析为 myObj 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25024632/

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