Я считаю, Джексон - это именно то, что вам нужно.И если вы используете Spring - он уже использует Джексона под капотом, я думаю.
Здесь вы можете найти некоторые примеры и документацию о том, как осуществляется сопоставление JSON с классом модели.
Если вам нужно настроить какое-либо поведение, вы можете использовать аннотации, такие как @JsonProperty
(их много).
Если свойства в вашем классе модели имеют те же имена, что и свойства в JSON, то, скорее всего, вам не нужно предоставлять никаких дополнительных настроек.
Вот простой пример:
public class User {
@JsonProperty("userName")
private String name;
private int age;
// getters and setters
}
И если у вас есть JSON, подобный этому:
{
"userName" : "Foo Bar",
"age" : 18
}
Джексон сделает всю магию за вас, если вам не нужно что-то очень конкретное.
Если что-то не в JSON, вы получаете (допустим, вы получили JSON без age
) - соответствующее свойство в классе модели будет null
, если это тип объекта и значение по умолчанию (0, false и т. Д.).) для примитивов (в нашем случае age
будет 0).