Java後臺接收前端傳遞的陣列物件引數的處理
之前有個需求,需要從前端向後臺傳遞一個物件,該物件裡不僅含有屬性,還包含了一個陣列
類似物件:
Object:{屬性1:'',屬性2:'',...,children:[{屬性3:''},{},...]}
這樣的一個物件。後臺使用一個一對多的實體類進行接收,但報錯。(前端使用的是es6,後臺使用springboot)
類似實體類:
public class Xxx1 {
private String 屬性1;
private String 屬性2;
...
private List<Xxx2> children;
}
百度了很多種方法:使用@RequestBody、@RequestParam、設定contentType等方法都不行。
最後使用轉換JSON的方法實現了引數的傳遞。
具體做法:
前端:
使用JSON.stringify()方法將其轉換為JSON字串
url: url,
data: { jsonStr: JSON.stringify(Object), },
最後得到的資料類似於:
{'屬性1':'','屬性2':'',...,'children':[{'屬性3':''},{''},...]}
後端:
controller方法:
@PostMapping(value = 'url',produces = "application/json")
public void upsertXxx(String jsonStr) {
// 這裡使用的alibaba的fastjson包
// 先將字串轉換為JSON物件
JSONObject jsonObj = JSONObject.parseObject(jsonStr);
// 使用toJavaObject()方法將其轉換為Xxx物件
// Xxx物件中的list集合也會得到相應的值
Xxx xxx= jsonObj.toJavaObject(Xxx.class);
...
// 業務實現
...
}
相關文章
- Ajax傳遞陣列 (PHP後臺接收)陣列PHP
- Js傳遞陣列引數到後臺controller的方式JS陣列Controller
- 後臺接收Json請求引數相容陣列和單個物件JSON陣列物件
- 解決SpringBoot在後臺接收前臺傳遞物件方式Spring Boot物件
- ajax從JSP傳遞物件陣列到後臺JS物件陣列
- c++ -- 二維陣列引數傳遞C++陣列
- 前端如何優雅處理類陣列物件?前端陣列物件
- Shell自學二(引數傳遞和陣列)陣列
- Java方法04:命令列傳遞引數、可變引數Java命令列
- JavaScript為事件處理函式傳遞引數JavaScript事件函式
- php 陣列傳到前端 js進行處理PHP陣列前端JS
- 前端ajax非同步傳值以及後端接收引數的幾種方式前端非同步後端
- 給vue元件傳遞物件或是陣列Vue元件物件陣列
- SpringMVC中@RequestBody接收前端傳來的多個引數SpringMVC前端
- java 傳遞引數的兩種方式Java
- web前端陣列處理之陣列去重Web前端陣列
- 當 Vue 處理陣列與處理純物件的方式一樣Vue陣列物件
- 引數為*&與*的區別以及二維陣列傳遞時列數不對等的區別陣列
- 二級指標,二維陣列函式引數傳遞指標陣列函式
- Java 從陣列來看值傳遞和引用傳遞Java陣列
- web前端陣列處理之扁平化陣列Web前端陣列
- 獲取url中?後面傳遞的引數
- 引數的定義和引數的傳遞
- Day18--命令列傳遞引數命令列
- JS的方法引數傳遞(按值傳遞)JS
- postman測試多檔案上傳,並且後臺接收檔案陣列Postman陣列
- JAVA基礎之-引數傳遞Java
- ajax上傳陣列物件,spring mvc接收不成功的解決辦法陣列物件SpringMVC
- 請求引數的傳遞
- 函式的引數傳遞函式
- Go 接收命令列引數Go命令列
- IIS: 前端傳遞某個引數只寫了一遍,後端接收到的引數卻是重複的;中間用逗號拼接了兩遍前端後端
- axios 後端拿不到引數的處理iOS後端
- 引數傳遞
- js陣列物件相同項合併處理JS陣列物件
- Java中的引數傳遞有哪些?通俗易懂Java
- raid磁碟陣列OFFLINE後的應急處理方案AI陣列
- php url傳遞陣列PHP陣列