一、什么是数据交换格式
客户端与服务器常用数据交换格式xml、json、html
二、数据交换格式用场景
移动端(安卓、IOS)通讯方式采用http协议+JSON格式 走restful风格。
很多互联网项目都采用Http协议+JSON。
因为xml比较重,一般在WebService服务采用http+xml格式,银行项目使用比较多。
三、什么是JSON
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,相比于xml这种数据交换格式来说,因为解析xml比较的复杂,而且需要编写大段的代码,所以客户端和服务器的数据交换格式往往通过JSON来进行交换。
JSON
:JavaScript 对象表示法(J
avaS
cript O
bject N
otation)。
JSON
的形式是用大括号“{}”
包围起来的项目列表,每一个项目间用逗号(,)分隔,而项目就是用冒号(:)分隔的属性名和属性值。这是典型的字典表示形式,也再次表明javascript
里的对象就是字典结构。不管多么复杂的对象,都可以用一句JSON
代码来创建并赋值。在JSON
中,名称 / 值对包括字段名称(在双引号中),后面写一个冒号,然后是值。
json简单说就是javascript中的对象和数组,通过这两种结构可以表示各种复杂的结构:
1、对象:对象在js中表示为“{}”括起来的内容,数据结构为 {key:value,key:value,...}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值
2、数组:数组在js中是中括号“[]”括起来的内容,数据结构为 ["java","javascript","vb",...],取值方式和所有语言中一样,使用索引获取.
四、常用JSON解析框架
fastjson(阿里)、gson(谷歌)、jackson(SpringMVC自带)
public class JsonTest {
static String jsonStr = "{\"sites\":[" +
"{\"name\":\"蚂蚁课堂\",\"url\":\"www.itmayiedu.com\"}," +
"{\"name\":\"每特教育\",\"url\":\"http://meiteedu.com/\"}" +
"]" +
"}";
public static void main(String[] args) {
JSONObject jsonObject = new JSONObject();
// 将json字符串转为jsonbject
JSONObject jsonStrObject = jsonObject.parseObject(jsonStr);
System.out.println(jsonStrObject);
System.out.println(jsonStrObject.get("sites"));
JSONArray jsonArray = jsonStrObject.getJSONArray("sites");
for (Object object : jsonArray) {
JSONObject stObject = (JSONObject) object;
String name = stObject.getString("name");
String url = stObject.getString("url");
System.out.println(name + "---" + url);
}
}
}
{"sites":[{"name":"蚂蚁课堂","url":"www.itmayiedu.com"},{"name":"每特教育","url":"http://meiteedu.com/"}]}
[{"name":"蚂蚁课堂","url":"www.itmayiedu.com"},{"name":"每特教育","url":"http://meiteedu.com/"}]
蚂蚁课堂---www.itmayiedu.com
每特教育---http://meiteedu.com/
五、XML
1、什么是XML?
它是可扩展标记语言(Extensible Markup Language,简称XML),是一种标记语言。主要用于描述数据和用作配置文件。
2、XML解析方式?
Dom4j、Sax、Pull
3、Dom4j与Sax区别
dom4j不适合大文件的解析,因为它是一下子将文件加载到内存中,所以有可能出现内存溢出,sax是基于事件来对xml进行解析的,所以他可以解析大文件的xml,也正是因为如此,所以dom4j可以对xml进行灵活的增删改查和导航,而sax没有这么强的灵活性,所以sax经常是用来解析大型xml文件,而要对xml文件进行一些灵活(crud)操作就用dom4j。
4、XML与JSON区别
Xml是重量级数据交换格式,占宽带比较大。
JSON是轻量级交换格式,xml占宽带小, 传输效率相对比较高。
所有很多互联网公司都会使用json作为数据交换格式
很多银行项目,大多数还是在使用xml。
五、Java反射机制
5.1 什么是Java反射
就是正在运行,动态获取这个类的所有信息。
5.2 反射机制的作用
1、通过反射创造类或对象
2.通过反射机制访问java对象的属性,方法,构造方法等;