springMvc前端传递参数为json数组形式,记一次心得

记一次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的数据。

springMvc前端传递参数为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");
           }

springMvc前端传递参数为json数组形式,记一次心得

记一次心得,希望对有需要的人有帮助!