我有 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/