gpt4 book ai didi

java - 如何在 GSON 反序列化期间忽略空字符串

转载 作者:行者123 更新时间:2023-12-03 20:38:41 25 4
gpt4 key购买 nike

我想使用 GSON 中的 toJson 删除空字符串。
示例对象:

public class ExampleObject {
String defaultEmpty = "";
String example;

public ExampleObject() {
this.example = "foo";
}
之后
使用
new Gson().toJson(new ExampleObject());
我正在接收
  "defaultEmpty " : "",
"position" : "foo"
有没有办法在反序列化过程中不包含空字符串?我知道 GSON 忽略了 null ,但有时我的对象中有一个空字符串,我不得不忽略它。

最佳答案

这是一个简化的示例。

static class ExampleObjectSerializer implements JsonSerializer<ExampleObject> {

@Override
public JsonElement serialize(ExampleObject src, Type typeOfSrc, JsonSerializationContext context) {
JsonObject object = new JsonObject();
object.addProperty("example", src.example);
if(src.defaultEmpty != null && !src.defaultEmpty.equals("")) {
object.addProperty("defaultEmpty", src.defaultEmpty);
}
return object;
}
}

public static void main(String[] args) {
Gson gson = new GsonBuilder().registerTypeAdapter(ExampleObject.class, new ExampleObjectSerializer()).create();
ExampleObject exampleObject = new ExampleObject();
String result = gson.toJson(exampleObject);
System.out.println(result);
}

关于java - 如何在 GSON 反序列化期间忽略空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67893293/

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