Я уже давно ищу это, но мне все еще неясно.У меня есть файл 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;
}
Теперь у меня есть пара вопросов относительно этого:
- Будет ли gson автоматически сопоставлять поля в
StudentDetails.java
с соответствующими ключами, даже если поля начинаются со строчных букв, а ключи начинаются с прописных букв в JSONфайл.Я искал @SerializedName
, но мой код работает, даже не используя его.Напротив, если я использую что-то вроде @SerializedName("Name)
с полем имени, после десериализации оно получает нулевое значение.Я сейчас так растерялся. - Будет ли десериализация работать даже без методов получения и установки?В Джексоне вы пишете методы setter и getter.
- Если приведенное выше верно, работает ли оно даже в случае приватных полей?