[英]json parsing with jackson
我正在使用Jackson庫將JSON字符串轉換為Java對象
我的json是:
{
"human":{
"fname":"anjali",
"lname":"malhotra"
}
}
我希望將其轉換為具有以下結構的Java類:
public class Human
{
String fname;
String lname;
}
我可以成功地將其轉換為
public class HumanWrapper
{
Human human;
}
但是,我想知道是否可以直接將其轉換為Human格式。 我讀過有關自定義反序列化的信息,但不願采用這種方法。
您可以通過將ObjectMapper配置為使用DeserializationFeature.UNWRAP_ROOT_VALUE
來實現:
ObjectMapper mapper = new ObjectMapper();
mapper.configure(DeserializationFeature.UNWRAP_ROOT_VALUE, true);
並使用@JsonRootName
注釋對Human
類進行注釋:
@JsonRootName("human")
public class Human {
....
}
您需要有一個HumanWrapper
類,因為您的人類對象是在json對象內部定義的
{
"human": {
}
}
如果您能夠更改您的API以僅發送這樣的human
對象
{
"fname":"anjali",
"lname":"malhotra"
}
那你就不用HumanWrapper
一個HumanWrapper
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.