json是一种轻量级的数据交换格式,跟xml一样,那为什么不用xml而用json呢?因为它有xml所有的优点外加一条它还比xml “小”
json前端的三种体现形式:
//json对象的字符串体现形式
var jsonObj1={
sid:'s001',
sname:'张三'
};
console.log(jsonObj1);
//json数组的字符串体现形式
var jsonArray1=[1,2,3,4,5];
console.log(jsonArray1);
//json混合模式的字符串体现形式
var jsons={id:3,hobby:['a','b','c']};
console.log(jsons);
注:console.log( ); 是谷歌浏览器的一个调试方法
json后端的三种体现形式:
//json对象
Student stu1=new Student("001", "hhh",null);
ObjectMapper om=new ObjectMapper();
System.out.println(om.writeValueAsString(stu1));
//json数组
Student stu2=new Student("002", "huwei",null);
List<Student> list1=new ArrayList<>();
list1.add(stu1);
list1.add(stu2);
System.out.println(om.writeValueAsString(list1));
//json混合模式
Map<String , Object> map=new HashMap<>();
map.put("total", 2);
map.put("stus", list1);
System.out.println(om.writeValueAsString(map));
JSON死循环问题
现在我有一个学生类跟一个老师类
都有各自的get跟set方法,有参跟无参构造器
相信大家都看得出来老师跟学生相互调用,会报个小错
栈内存溢出的问题
两个解决办法 :
1.由双向绑定改成单向绑定,也就是说将彼此之间的关系交于一方维护
2.加上@JsonIgnore,将彼此调用的属性忽略,不参与对象转成json格式
输出: