gpt4 book ai didi

java - 使用 GSON 序列化 ArrayList(通用类型)

转载 作者:行者123 更新时间:2023-11-30 10:46:07 26 4
gpt4 key购买 nike

我想使用 Google 的 GSON 库将 java 对象序列化为 JSON。它工作正常,除非出现 ArrayList。 GSON 无法处理 ArrayList 的通用类型。 @Yavor Georgiev 描述了使用 registerSerializer(...) 方法的解决方案,但新版本中不存在此方法。

gson.registerSerializer(ArrayList.class, new CollectionSerializer<Object>());

http://hashtagfail.com/post/44606137082/mobile-services-android-serialization-gson

在我的例子中,ArrayList 嵌套在对象下的三层类中,传递给 toJSON(...)

有谁知道如何解决这个问题?

结构是这样的:

public class Data() {
@Expose
privat int number = 8;
@Expose
private Foo foo = new Foo();
}

public class Foo() {
@Expose
private Bar bar = new Bar();
}

import java.awt.Point;
public class Bar() {
@Expose
ArrayList<Point> list = new ArrayList()<>;
}

最佳答案

您是否尝试过注册适配器。

new GsonBuilder().registerTypeAdapter(Object.class, new JsonSerializer<Object>() {
@Override
public JsonElement serialize(Object src, Type typeOfSrc, JsonSerializationContext context) {
return context.serialize(src);
}
})

关于java - 使用 GSON 序列化 ArrayList(通用类型),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36724413/

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