后台servlet如何获取ajax传过来的json数组

我写了一个DEMO,大概就是前台传过来一个json格式的数据,如下:
data2 = {"json1":[{"sex": '男',"submit":"111"},{"sex": '女',"submit":"222"},{"sex": '男',"submit":"33"}]};
然后我想在servlet中获取这个数据,我用String json1 = request.getParameter("json1");获取得到的值为null,获取不到。我不知道为什么,也可能是我获取的方式不对,请问要怎么做?谢谢。如果可以得话请再讲讲获取后如何得到每一个submit的值

8个回答

首先,确定前台传递过来的参数名称是不是json1这个字符串,浏览器的F12看下参数名称。
其次,后台处理JSON字符串的时候,需要使用JSON处理工具如fastjson转换为Java对象来处理。

感觉上没错,要看你的ajax请求时param是否对data2又做了一次封装

加注解@requestbody

在前端先把json转为json字符串,再传到后台

//参数传输格式不正确,修改一下
$.ajax({
        data:JSON.stringify(data2)//传输参数不是具体json对象,而是字符串
})

当字符串传,后接后 再转成json就行

你得先获取Data2后再获取json1的json数组

这个得看前端传值的时候,设置的变量是不是json1,这个是在json数据的一个key。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问