Java 从JSON到Gson的POJO
如何将其转换为POJO?我对“langs”有点小麻烦:{}。Langs是一个具有随机变量量的Java对象吗 需要GSON工厂/改装2。问候Java 从JSON到Gson的POJO,java,json,gson,Java,Json,Gson,如何将其转换为POJO?我对“langs”有点小麻烦:{}。Langs是一个具有随机变量量的Java对象吗 需要GSON工厂/改装2。问候 { "dirs": [ "ru-en", "ru-pl", "ru-hu", ... ], "langs": { "ru": "russian", "en": "english", "pl": "polish", ...
{
"dirs": [
"ru-en",
"ru-pl",
"ru-hu",
...
],
"langs": {
"ru": "russian",
"en": "english",
"pl": "polish",
...
}
}
试试这个:
public class Example {
@NonNull
@SerializedName("dirs")
public List<String> dirs;
@NonNull
@SerializedName("langs")
public Map<String, String> langs;
}
公共类示例{
@非空
@序列化名称(“目录”)
公开名单目录;
@非空
@序列化名称(“langs”)
公共地图;
}
试试这个:
public class Example {
@NonNull
@SerializedName("dirs")
public List<String> dirs;
@NonNull
@SerializedName("langs")
public Map<String, String> langs;
}
公共类示例{
@非空
@序列化名称(“目录”)
公开名单目录;
@非空
@序列化名称(“langs”)
公共地图;
}
@Japu_D_Cret no,langs就像Java对象,有随机数量的变量:ru、en等。所以是一个简单的映射,现在呢?@a.Alex它是一个重复的映射。如果您阅读了链接问题的最佳答案,您将看到以下内容:googlegson支持泛型和嵌套bean。JSON中的[]表示一个数组,应该映射到一个Java集合,如List或一个普通Java数组。JSON中的{}表示一个对象,应该映射到Java映射或某个JavaBean类正是您的情况。@LyubomyrShaydariv简单映射在GsonConverterFactory之后为空。@Japu_D_Cret no,langs就像Java对象一样,有随机数量的变量:ru、en等。所以一个简单映射-现在呢?@a.Alex它是重复的。如果您阅读了链接问题的最佳答案,您将看到以下内容:googlegson支持泛型和嵌套bean。JSON中的[]表示一个数组,应该映射到一个Java集合,如List或一个普通Java数组。JSON中的{}表示一个对象,应该映射到Java映射或某个JavaBean类正是您的情况。@LyubomyrShaydariv简单映射在GsonConverterFactory之后为空。不起作用。Langs在GsonFactory.@A.Alex之后为空。如果我发布问题的答案,我会准确地回答:这是一个正确的POJO映射。如果您出于任何原因获得了null
s,那么您可以在这里有两个选项:1)您正在尝试反序列化与您在问题中发布的JSON文档不匹配的JSON文档;2) 或者改装中使用的Gson
实例已损坏。“我不相信后者。”柳波默沙伊达里夫谢谢你的帮助。我发现了问题。服务器没有发送没有特殊参数的“langs”。@A.Alex没问题。请接受这个答案,因为它对你有帮助。谢谢,没用。Langs在GsonFactory.@A.Alex之后为空。如果我发布问题的答案,我会准确地回答:这是一个正确的POJO映射。如果您出于任何原因获得了null
s,那么您可以在这里有两个选项:1)您正在尝试反序列化与您在问题中发布的JSON文档不匹配的JSON文档;2) 或者改装中使用的Gson
实例已损坏。“我不相信后者。”柳波默沙伊达里夫谢谢你的帮助。我发现了问题。服务器没有发送没有特殊参数的“langs”。@A.Alex没问题。请接受这个答案,因为它对你有帮助。谢谢