我想在jquery中创建一个json对象并在jsp中处理它并以json格式返回。 我创建了一个json对象并发布到jsp文件:
$.post("processDropDown.jsp", $('#fields tr td input').serializeArray(),
function(data) {
alert(data);
});
在jsp文件中,我读取参数并放入jsonobject,但返回了json exception-null对象异常。
JSONObject inp = new JSONObject();
Enumeration enumeration = request.getParameterNames();
try {
while (enumeration.hasMoreElements()) {
String parameterName = (String) enumeration.nextElement();
out.print("\nParameter = " + parameterName+"\n");
inp = inp.getJSONObject(request.getParameter(parameterName));
out.print("::" + inp.toString());
}
} catch(Exception ex) {
out.print(ex);
}
JSON.stringify()方法在将其传递给jsp之前在客户端中返回以下输出。
JSON.stringify($('#fields tr td input').serializeArray());
[{"name":"valueField","value":"12"},{"name":"textField","value":"Twelve"},{"name":"valueField","value":"34"},{"name":"textField","value":"ThirtyFour"}]
答案 0 :(得分:2)
更改
$.post("processDropDown.jsp",
$('#fields tr td input').serializeArray(),
function(data) {
alert(data);
}
);
到
$.post("processDropDown.jsp",
JSON.stringify($('#fields tr td input').serializeArray()),
function(data) {
alert(data);
}
);
您发布了一个Object Literal而不是JSON。好读了Object vs JSON here
请注意.serializeArray()
文档:
.serializeArray()方法创建一个 JavaScript对象数组,可以编码为JSON字符串。它在表示一组表单元素的jQuery对象上运行。
强调我的......