2018-09-03微服務筆記(二)之資料交換格式、反射
阿新 • • 發佈:2018-11-06
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