记一次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");
}
记一次心得,希望对有需要的人有帮助!