記一次springMvc傳遞json數組,后端如何接收的問題?
例子:在postman中寫好測試樣例數據:
{"TDGY_CJGS":
[{"RESOURCEID":"6",
"RESOURCENO":"6",
"NOTICEID":"6",
"NOTICENO":"6",
"CRXZ":"1",
"NOTICENR":"1",
"GSBH":"1",
"JDDW":"1",
"CRMJ":"1",
"GHYT":"1",
"GHYTNAME":"1",
"CRNX":"1",
"CRNXBZ":"1",
"CJJ":"1",
"ZDSL":"1",
"ENDTIME":"2020-02-20",
"YHLB":"1",
"JYFS":"1",
"TSSJ":"2020-08-08",
"GDLB":"1"},
{"RESOURCEID":"7",
"RESOURCENO":"7",
"NOTICEID":"7",
"NOTICENO":"7",
"CRXZ":"7",
"NOTICENR":"1",
"GSBH":"1",
"JDDW":"1",
"CRMJ":"1",
"GHYT":"1",
"GHYTNAME":"1",
"CRNX":"1",
"CRNXBZ":"1",
"CJJ":"1",
"ZDSL":"1",
"ENDTIME":"2020-02-20",
"YHLB":"1",
"JYFS":"1",
"TSSJ":"2020-08-08",
"GDLB":"1"}
]
}
對於這種傳參,就是典型的數組里面套着許多個對象,這樣的話,我們在后端接受參數中可以接收json格式的參數對象,但是接收過后,要對這個進行處理。比如我想要拿到第二個對象里面的某個屬性的數據,這個時候該怎么做呢,我這里使用JSONArray來轉換。在controller層我們可以這樣做,接收一個json的數據。
在業務層(service層)我們可以使用JSONArray來轉換json的數據。
/** 轉換為json數組,TDGY_CJGS這個是傳過來的json的key值,根據這個值獲取到你想要的json,因為可能會有多個數組,可以根據這個來進行區分 */
JSONArray jsonArray = jsonObject.getJSONArray("TDGY_CJGS");
int temp = 0;
for (int i = 0; i < jsonArray.size(); i++) {
/** 獲取json數組中的每一個json數據 */
JSONObject job = (JSONObject) jsonArray.get(i);
/** 可以獲取每一個json中的屬性值,根據k-v的性質,在這里你可以拿到你需要的屬性進行處理 */
String RESOURCEID = job.getString("RESOURCEID");
}
記一次心得,希望對有需要的人有幫助!