1. 程式人生 > >2018-09-03微服務筆記(二)之資料交換格式、反射

2018-09-03微服務筆記(二)之資料交換格式、反射

1.資料交換格式

1.1 常用的有 json 和 xml

1.2 json : 輕量級的資料交換格式

 

1.3 xml : 可擴充套件標記語言,重量級

 

1.4 json 和 xml 區別:

1、json佔用寬頻小,xml佔用寬頻大。

2、微服務大多使用http+json格式。

1.5 json框架:gson(谷歌),fastjosn(阿里巴巴),jackson(springmvc)

2.fastjson使用 匯入包com.alibaba.fastjson

3.xml相關

3.1 用於描述資料或作為配置檔案,類似於樹狀儲存結構。

3.2 解析xml的方式:dom4j,sax,pull,(dom4j不適合將檔案直接載入到記憶體,不適合使用大檔案的解析,sax直接定位到檔案解析,但是靈活性不高)。

3.3 使用dom4j進行解析

      3.3.1 包 org.dom4j.dom4j

      3.3.2 demo

import java.util.Iterator;
import java.util.List;

import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

public class Test09 {
	public static void main(String[] args) {
		try {
			// 獲得讀取物件
			SAXReader reader = new SAXReader();
			// 獲得文件物件
			Document document = reader.read("D:/student.xml");
			// 獲得根節點
			Element rootElement = document.getRootElement();
			getElement(rootElement);
		} catch (DocumentException e) {
			e.printStackTrace();
		}
	}

	public static void getElement(Element element) {
		String str = "name : " + element.getName() + ";" + "value:" + element.getTextTrim();
		// 獲得屬性
		List<Attribute> attributes = element.attributes();
		for (Attribute attr : attributes) {
			str += "attrName:" + attr.getName() + ":" + attr.getText();
		}
		System.out.println(str);
		// 迭代器遍歷節點
		Iterator<Element> iterator = element.elementIterator();
		while (iterator.hasNext()) {
			Element next = iterator.next();
			getElement(next);
		}
	}
}

4.反射

4.1 正在執行動態獲取類的所有資訊

4.2