前段时间写了一个多层嵌套json数据对象,费了半天劲,记录一下
前端数据类似淘宝多条件搜索,json数据类型为key-value嵌套数组

前端为ajax传值
function searfunc(arr) {
//arr为查询按钮之后输出的搜索条件
console.log(arr);
$.ajax({
url:'/conprob/titleList',
type:'post',
contentType: "application/json",
traditional: true,
async : true,
data:JSON.stringify(arr),
后台controller层用JSONArray接收数据类型
@RequestMapping(value = "titleList",produces = "application/json;charset=UTF-8")
@ResponseBody
public Object titleList(@RequestBody JSONArray jsonParam){
}
service层进行拆分解析
for(int i = 0;i<jsonParam.size();i++){
JSONObject jsonObject=jsonParam.getJSONObject(i);
String key = jsonObject.getString("key");
JSONArray jsonArray=jsonObject.getJSONArray("val");
List<String> valList = new ArrayList<>();
for(int j = 0;j<jsonArray.size();j++){
String val = jsonArray.get(j).toString();
}
}
在此借用网上百度到的进行总结,个人觉得总结的很到位
