例子一(只是传递一个对象)
前台代码
var TopoBean={
name :"hello2",
linkName : "hello2",
x : 1,
y:2
}
$.ajax({
url: "topo/testJson",
type: 'post',//需要注意的是不能使用get方法请求
//contentType: 'application/json;charset=utf-8',
dataType : "json",
data: JSON.stringify(TopoBean),
success:function(data){
alert(data)
}
});
实体类代码
@Table("t_topo")
public class TopoBean {
private String name;
private String linkName;
private float x;
private float y;
public TopoBean() {
super();
}
public TopoBean(String name, String linkName, float x, float y) {
super();
this.name = name;
this.linkName = linkName;
this.x = x;
this.y = y;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getLinks() {
return linkName;
}
public void setLinks(String linkName) {
this.linkName = linkName;
}
public float getX() {
return x;
}
public void setX(float x) {
this.x = x;
}
public float getY() {
return y;
}
public void setY(float y) {
this.y = y;
}
}
请求处理代码
@AdaptBy(type=JsonAdaptor.class) //这一行不能省略,解析json对象
@At("/testJson")
@Ok("json")
public int testJson(HttpServletRequest request,@Param("..") TopoBean bean){
System.out.println(bean);
return 1;
}
--------------------------------------------------分割线------------------------------------------------
例子二(传递一个数组,数组中包含对象)
前台代码
var TopoBean1={
name :"hello1",
linkName : "hello1",
x : 1,
y:2
}
var TopoBean2={
name :"hello2",
linkName : "hello2",
x : 1,
y:2
}
var arr=[];
arr.push(TopoBean1);
arr.push(TopoBean2);
$.ajax({
url: "topo/testJson",
type: 'post',
//contentType: 'application/json;charset=utf-8',
dataType : "json",
data: JSON.stringify(arr),
success:function(data){
alert(data)
}
});
后台处理
@AdaptBy(type=JsonAdaptor.class)
@At("/testJson")
@Ok("json")
public int testJson(HttpServletRequest request,@Param("..") List<TopoBean> bean){
String name = bean.get(1).getName();
System.out.println(name);
return 1;
}
比较JSON.stringify()与JSON.parse()
JSON.stringify()是将json对象转成json字符串
var arr = [1,2,3];
JSON.stringify(arr);//’[1,2,3]’
typeof JSON.stringify(arr);//string
JSON.parse()是将json字符串转成json对象
var string = ‘[1,2,3]’;
console.log(JSON.parse(string))//[1,2,3]
console.log(typeof JSON.parse(string))//object