2016-10-03 27 views
0

我有這個對象被轉換成以下格式,但它沒有正確包裝它。如何使用@JsonProperty反序列化JSON響應?

@JsonProperty("code") 
private String code; 
@JsonProperty("message") 
private String msg; 
@JsonProperty("assign") 
private SomeVO someVO; 
//getter, setters 

爲此格式:

{ 
"status": { 
    "code": $value, 
    "message": $value 
}, 
"data":{ 
    "assign" { 
    "schemaLayoutFileName" : $value 
    "dataStoreTargetLocationText" : $value 
     } 
    } 

} 

如何能不能做到?

回答

2

您定義的類與您想要解析的JSON不匹配。試試下面的設計(如果類屬性名相匹配的JSON屬性的名稱,您將不再需要@JsonProperty):

public class Foo { 

    private Status status; 
    private Data data; 

    // Getters and setters 
} 
public class Status { 

    private String code; 
    private String value; 

    // Getters and setters 
} 
public class Data { 

    private Assign assign; 

    // Getters and setters 
} 
public class Assign { 

    private String schemaLayoutFileName; 
    private String dataStoreTargetLocationText; 

    // Getters and setters 
} 
+1

感謝救了我的天! –

+0

嘿@CássioMazzochi Molin如果我們想要改變對象的名稱(如動態分配),該怎麼辦? –

+0

@omkomawar如果我理解你的問題,你想擁有一個名爲'assignDynamically'而不是'assign'的JSON屬性。在這種情況下,你可以使用@JsonProperty(「assignDynamically」)private Assign assign;'。 –