JQuery学习笔记
Jackson*
JSON后台的三种形式
JSCON核心代码
objmapper om = new ojbectMapper();
om.wtireValueAsString();
- JSON对象
Student stu1 = new Student("sid", "s001");
Student stu2 = new Student("sname", "lironghao");
ObjectMapper om = new ObjectMapper();
String asString = om.writeValueAsString(stu1);
System.out.println("json对象"+asString);
结果:json对象{“sid”:“sid”,“sname”:“s001”,“set”:[]}
3. JSON数组
List<Student> list = new ArrayList<Student>();
list.add(stu1);
list.add(stu2);
System.out.println("json数组"+om.writeValueAsString(list));
结果:json数组[{“sid”:“sid”,“sname”:“s001”,“set”:[]},{“sid”:“sname”,“sname”:“lironghao”,“set”:[]}]
- JSON混合模式
List<Object> list2 = new ArrayList<>(); list2.add("hah"); list2.add(stu1); list.add(stu2); System.out.println("json混合模式"+om.writeValueAsString(list2));
结果:json混合模式[“hah”,{“sid”:“sid”,“sname”:“s001”,“set”:[]}]
JavaBean和map集合转换成JSON字符串的格式相同
- Map<String,ojbect> map = new haspMap<>();
Map<String, Object> map = new HashMap<>(); map.put("sid", "s001"); map.put("sname", "lironghao"); map.put("stu1", stu1); map.put("stu2", stu2); System.out.println("map的对象"+om.writeValueAsString(map));
2 map集合的数组
List<Map<String, Object>> list = new ArrayList<>();
map.put("sname", "jcak");
map.put("sid", "s001");
list.add(map);
System.out.println("map的数组"+om.writeValueAsString(list));
3map集合的混合模式
List<Map<String, Object>> list2 = new ArrayList<>();
map.put("sname", "jcak");
map.put("sid", "s001");
map.put("stu1", stu1);
list.add(map);
System.out.println("map的混合"+om.writeValueAsString(list));
结果:map的对象{“sname”:“lironghao”,“stu2”:{“sid”:“sname”,“sname”:“lironghao”,“set”:[]},“stu1”:{“sid”:“sid”,“sname”:“s001”,“set”:[]},“sid”:“s001”}
map的数组[{“sname”:“jcak”,“stu2”:{“sid”:“sname”,“sname”:“lironghao”,“set”:[]},“stu1”:{“sid”:“sid”,“sname”:“s001”,“set”:[]},“sid”:“s001”}]
map的混合[{“sname”:“jcak”,“stu2”:{“sid”:“sname”,“sname”:“lironghao”,“set”:[]},“stu1”:{“sid”:“sid”,“sname”:“s001”,“set”:[]},“sid”:“s001”},{“sname”:“jcak”,“stu2”:{“sid”:“sname”,“sname”:“lironghao”,“set”:[]},“stu1”:{“sid”:“sid”,“sname”:“s001”,“set”:[]},“sid”:“s001”}]
- JSON的死循环问题
产生的问题:stackOverFlowError
解决方案:
方案一:忽略双向关联的一个反向即可
方法二:@JsonIgnore 将彼此循环调用的属性忽略,不参与对象转成json格式
$ajax语法
$(function(){
var ctx = $("#ctx").val();//全线命名的隐藏域从界面传过来
$.ajax({
url : ctx+"/json.do",请求url的地址方式为POST
success : function(data){
alert(data);
}
},
dataType : "json" 数据类型
});
});