我已经搜索了很长一段时间,但我仍然不清楚。我有一个 JSON 文件,如下所示:
{
"Name" : "Foo Bar",
"Grade" : "Some Grade",
"Org" : "Some Org"
}
为了反序列化这个 JSON(使用 gson),我创建了一个名为的 Java 类StudentDetails.java,如下所示:
public class StudentDetails
{
public String name;
public String grade;
public String org;
}
现在我有几个关于这个的问题:
StudentDetails.java
即使 JSON 文件中的字段以小写开头且键以大写开头,gson 也会自动将字段映射到相应的键。我一直在寻找,@SerializedName
但我的代码甚至没有使用它就可以工作。相反,如果我使用类似@SerializedName("Name)
name 字段的东西,它会在反序列化后被分配为 null。我现在很困惑。
即使没有 getter 和 setter 方法,反序列化也能工作吗?在 jackson 中,您编写了 setter 和 getter 方法。
如果以上是真的,即使在私有字段的情况下它也有效吗?
繁星coding
相关分类