我正在設定我的 RestController 以接收一個包含另一個 json 的 json(我現在不知道第二個 json 的結構)......類似這樣:
{
"field1":"value1",
"jsonField":{
"anotherField1":1,
"anotherField2":0.2
}
}
我的請求類是這樣的:
public class Request {
private String field1;
private org.json.JSONObject jsonField;
}
但是當我打電話給我的控制器時,field1設定了,但jsonField沒有。它僅設定為{}
編輯:這是控制器方法:
@PostMapping
public ResponseEntity postMethod(@RequestBody Request request) {}
uj5u.com熱心網友回復:
jsonField如果要自動映射物件,則需要為物件定義自己的類。
public class Request {
private String field1;
private JsonField jsonField;
}
public class JsonField {
private Integer anotherField1;
private Integer anotherField2;
}
如果你事先不知道它的結構,方法會有所不同。您可以使用以下任一方式Map:
public class Request {
private String field1;
private Map<String, Object> jsonField;
}
或者杰克遜的JsonNode型別
public class Request {
private String field1;
private JsonNode jsonField;
}
您可以在此處閱讀更多相關資訊。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/366400.html
