gpt4 book ai didi

java - 如何在 Java 中使用 Gson @SerializedName 序列化嵌套对象?

转载 作者:行者123 更新时间:2023-12-02 09:46:24 30 4
gpt4 key购买 nike

我有 twitter 数据。此数据中有一些嵌套对象。我想将这些字段收集到 Java 中的单个对象中。我使用 @SerializedName 注解将一些嵌套字段导入到我的 java 对象中。

我的示例 json 如下所示:

{
"created_at": "Sat Jun 15 19:21:29 +0000 2019",
"text": "RT @BuzzTechy: [BEST] Udemy Course - Create a Python Powered Chatbot in Under 60 Minutes \n\nhttps:\/\/t.co\/jMIW38FmmZ \n\n#AI #Python #Chatbot\u2026",
"source": "\u003ca href=\"https:\/\/allentowngroup.com\" rel=\"nofollow\"\u003ebobbidigi\u003c\/a\u003e",
"truncated": false,
"in_reply_to_screen_name": "asdsf"
"user": {
"id": 1724601306,
"name": "Rob's Coding News In The Hood"
}
}

还有我的 java 对象:

public class TweetEntity implements Serializable {

private static long serialVersionUID = 1L;

@SerializedName("created_at")
private Date createdAt;

private String text;

private String source;

private Boolean truncated;

@SerializedName("in_reply_to_screen_name")
private String inReplyToScreenName;

@SerializedName("user.name")
private String userName;

}

但这不起作用。有人对此有任何想法或了解吗?

最佳答案

得到了之前答案的一个更简单的版本


public class TweetEntity {

...

@SerializedName("user")
@JsonAdapter(UsernameDeserializer.class)
private String userName;
}

public static class UsernameDeserializer implements JsonDeserializer<String> {
@Override
public String deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) {
return json.getAsJsonObject().get("name").getAsString();
}
}

关于java - 如何在 Java 中使用 Gson @SerializedName 序列化嵌套对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56614221/

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