maven需要引入的包
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.5.4</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.4</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.6</version>
</dependency>
spring-servlet.xml
<!-- 处理请求时返回json字符串的中文乱码问题 -->
<mvc:annotation-driven>
<mvc:message-converters>
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
jsp页面代码
<script type="text/javascript">
function f(){
var saveDataAry=[];
var data1={"name":"test","password":"gz"};
var data2={"name":"ququ","password":"gr","a":[{"k":"k"}]};
saveDataAry.push(data1);
saveDataAry.push(data2);
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/testJson/add.do",
dataType:"json",
contentType:"application/json",
data:JSON.stringify(saveDataAry),
success:function(data){
}
});
}
</script>
<input type="button" οnclick="f()" value="测试">
java代码
import java.util.List;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.alibaba.fastjson.JSONObject;
@Controller
@RequestMapping(value = "/testJson")
public class TestJsonController {
/**
* 测试json
* @param user
* @return
*/
@RequestMapping(value = "add.do", method = {RequestMethod.POST })
@ResponseBody
public Object add(@RequestBody List<JSONObject> json) {
try {
System.out.println(json);
} catch (Exception e) {
e.printStackTrace();
}
return json;
}
}