gpt4 book ai didi

java - 每个字段有多个 GSON @SerializedName?

转载 作者:IT老高 更新时间:2023-10-28 11:39:48 28 4
gpt4 key购买 nike

Gson 中有没有办法将多个 JSON 字段映射到单个 Java 对象成员变量?

假设我有一个 Java 类...

public class MyClass {
String id;
String name;
}

我想将这个类与两个不同的服务一起使用。但是,这两种服务在返回数据的方式上有所不同...

{ "id": 2341, "person": "Bob" }

...和...

{ "id": 5382, "user": "Mary" }

...分别。

有没有办法将 JSON 字符串中的 "person""user" 字段映射到 name 字段中Java 对象?

(注意:我只需要从 JSON 字符串转换为 Java 对象——从不反过来。)

最佳答案

2015 年 10 月,Gson 版本 2.4 (changelog) 添加了在反序列化时为 @SerializedName 使用替代/多个名称的功能。不再需要自定义 TypeAdapter!

用法:

java

@SerializedName(value="name", alternate={"person", "user"})

Kotlin

@SerializedName(value="name", alternate= ["person", "user"])

https://www.javadoc.io/doc/com.google.code.gson/gson/2.6.2/com/google/gson/annotations/SerializedName.html

关于java - 每个字段有多个 GSON @SerializedName?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25707728/

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