Java解析获取jquery发送的参数
编辑也许这是更好的解释(抱歉,我对javascript的了解比英语还多……而且我对javascript的了解不是很好:-)
我需要映射一个用jquery$发送的复杂javascript对象。我的servlet提供的JavaBean中的ajax
这是一个用jQuery完成并用Firebug嗅探的真实示例。 这是js代码:
$("#test").click(function(){
$.ajax({
url: "/server",
data: { "data1": [{key:1, val:2},{key:3, val:4}] },
type: "post",
}
});
});
如你所见,我在$内发送了一个复杂的对象。ajax数据,而不是简单的地图。 如果我用firebug sniffer检查http请求的发送方式,我会得到以下帖子参数:
Parameters application/x-www-form-urlencoded
data1[0][key] 1
data1[0][val] 2
data1[1][key] 3
data1[1][val] 4
这就是jquery将复杂对象转换为简单映射的方式。我想在JavaBean中获取这个对象。 谢谢
EDIT2 这个:Java convert JSONObject to URL parameter似乎与我的要求正好相反。但它没有答案
# 1 楼答案
这是JSON,您可以使用Gson库将其映射到POJO。见this tutorial
读取HttpServletRequest
编辑
您可能想看看this topic,它应该可以帮助您将JSON映射到POJO(或者您所说的Java bean)
编辑2
尝试添加
processData
参数并将其设置为false
。这将防止将给定的JSON转换为查询字符串