发送json对象到action后台并处理

前台构造10个数组,数组里面包含的是json对象,然后通过表单向后台提交这个数组。

前段代码:
for(i=0;i<10;i++)
{
jsonObj={"field":"field:+i,"name":"name"+i};
inFoArray.push(jsonObj);

}

function postToAction()
{
form1.action="Test!generateTemp.action?inFoArray="+inFoArray;
form1.submit();
}

后台我这样写

public String generateTemp()
{

for(int i=0;i<inFoArray.length;i++)
{
    jsonJavaObj=JSONObject.fromObject(inFoArray[i]);    
    System.out.println(jsonJavaObj.get("field"));
              System.out.println(jsonJavaObj.get("name"));

}
return null;

}

提交时url为:http://localhost:8080/pro_1/Test!generateTemp.action?inFoArray=[object%20Object],[object%20Object],[object%20Object],[object%20Object],[object%20Object],[object%20Object]

现在问题是没有得到预期的效果,而且报错,难道MVC action 无法处理带有json的数组?谢谢

var inFoArrayJsonStr = JSON.stringify(inFoArray);

form1.action="Test!generateTemp.action?inFoArray="+inFoArrayJsonStr;

你这不是传递的json数据 用 post试试

inFoArray是个js对象,不是JSON字符串,
需要先转换成JSON字符串,后台才能接收。
你可以alert(inFoArray)看一下
js转换json字符串的例子
http://www.open-open.com/lib/view/open1341644394292.html
这有一个~