我有一個DTO,如下所示:
我有一個DTO。
@Getter
@Setter
@AllArgsConstructor @AllArgsConstructor
public class LightRoundResponse {
private String round;
private JSONObject fields;
}
我能夠從資料庫中存盤和獲取JSON物件。在用ResultSet的欄位設定DTO的欄位屬性后,我能夠在除錯時看到包含正確資料的JSONObject。
但是,我得到的回應是:
{
"round"。"A Round"。
"field": {
"空": false。
}
}
fields物件不正確,我認為由于它是一個JSONObject,可能是一個問題,但我不確定。
我怎樣才能得到正確的回應,而不是"empty": false
uj5u.com熱心網友回復:
將JSONObject轉換為Map就可以了。
示例:
public class LightRoundResponse {
private String round;
private Map fields;
public void setFields(JSONObject fields){
this.fies = fields.toMap()。
}
}
我希望我能理解為什么JSONObject不能作業,但似乎社區也不知道。 因此,發布一個解決方法,可以幫助面臨同樣問題的人。
uj5u.com熱心網友回復:
Jackson不知道如何序列化JSONObject類。預期的方法是實際使用Map<String, Object>:
@Getter。
@Setter
@AllArgsConstructor @AllArgsConstructor
public class LightRoundResponse {
private String round;
private Map<String, Object> fields;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/313467.html
標籤:
