JSON(Jquery-ajax重点)
- JSON百度百科:JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
- JSON简单说就是JavaScript中的对象和数组
- 基本结构:
-
对象:{key:value,key:value ···}
-
数组:[“java”,“JavaScript”,“vb” ··· ]
-
在JSON中他的两种结构可以互相嵌套:
{key:[value1,value2]} 或者 [{name:xxx},{key2:value2}]
-
Fastjson
-
将java对象转换成jaso数据
-
也可以将json转换成java对象
-
Fastjson是阿里提供的一个开源的插件
-
Fastjson使用方法:
// 使用Fastjson将Project对象转换成json数据
-
导入jar包
-
创建一个Project对象,并赋值
-
使用JSONObject的toJSONString()方法。
String json = JSONObject.toJSONString(Project对象)
// 将List对象转换成json
-
导入jar包
-
创建一个List对象,并添加元素
-
使用JSONObject的toJSONString()方法。
String json = JSONObject.toJSONString(List集合)
-
-
给当前属性指定一个别名
- @JSONField(name = “编号”)
-
将Date类型按照指定格式转换成JSON类型
-
@JSONField(format=“yyyy年MM月dd日”)
-
选择java类中的某些属性,不转换成JSON属性
- 指定一个Filter(过滤不需要的属性)
- SimplePropreFilter(选择需要的属性)
-
Fastjson将java对象转换成json时循环引用问题
Xstream
-
使用Xstream工具完成xml与java对象之间的转换。他也可以完成java对象与JSON之间的转换。
-
根据不同需求,选取导入不同jar包。一般导入:
xstream.jar
xxp3_min.jar
xmlpull.jar
-
Xstream如何将java转换成xml的:
Xstream xstream = new Xstream(); String xml = xstream.toXML(map);
-
相关常用方法:
-
类设置别名
xtream.alias("省份",Province.class);
-
属性设置别名
xstream.aliasField("编号",City.class,""id);
-
忽略某些属性
Xstream.omitField(Province.class,"id");
//忽略Province类内的id -
将类属性设置成XML中的字段属性
Xstream.useAttributeFor(Province.class , "id");
-
注解使用:
-
想要使用注解的前提是开启注解扫描,不开启则注解无作用!
-
开启注解扫描:
xstream.autodetectAnnotations(true);
-
注解方法使用:
- 别名(在想起别名的属性或类前加注解)
- 忽略(在想忽略的属性前加)
- 设置为字节属性(在想设置的属性前加)
-