gpt4 book ai didi

java - Gson自定义反序列化

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:39:56 28 4
gpt4 key购买 nike

我正在使用 Gson 创建和解析 JSON,但我遇到了一个问题。在我的代码中,我使用了这个字段:

@Expose
private ArrayList<Person> persons = new ArrayList<Person>();

但我的 JSON 格式如下:

persons:{count:"n", data:[...]}

数据是一组人。

有什么方法可以使用 Gson 将此 JSON 转换为我的类吗?我可以使用 JsonDeserializer 吗?

最佳答案

您需要一个自定义反序列化器 ( http://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/com/google/gson/JsonDeserializer.html ),例如:

  public static class MyJsonAdapter implements JsonDeserializer<List<Person>>
{
List<Person> people = new ArrayList<>();
public List<Person> deserialize( JsonElement jsonElement, Type type, JsonDeserializationContext context )
throws JsonParseException
{
for (each element in the json data array)
{
Person p = context.deserialize(jsonElementFromArray,Person.class );
people.add(p);
}
}
return people;
}

关于java - Gson自定义反序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17730345/

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