潇潇雨雨
不知道你解决了没有。我刚好遇到这个问题,基本上和你差不多。你这个实际上是复杂数据传递。因为你的json中又包含了JsonArray,array中又存储了json对象......因为你是采用jquery的Ajax进行传递的,但是jquery的ajax和struts并不是很兼容,传递过去的值,根本无法被被正确的解析。那么如何解决这个问题呢?这样改var myparam = var myparam = JSON.stringify({'userName' : '薛军军','sex' : '男','others' : '其他值','jsonTest':[{'t_id':'sd','t_name':'trs'},{'t_id':'sd','t_name':'trs'}]},);$.ajax({type:"POST",async:false,url :"<%=basePath%>pages/User/getUserObj.action",data : myparam,dataType : "text",success : function(data) {alert(data);}});这样就向后台传递了正确的json对象。但是现在后台还无法正确接收对象,还需要配置struts.xml,在你的包中,action前面加上拦截器<interceptors><interceptor-stack name="myStack"><interceptor-ref name="json"></interceptor-ref><interceptor-ref name="defaultStack" /></interceptor-stack></interceptors><default-interceptor-ref name="myStack" />好了,这样就应该可以了