一、JSON(JavaScript Object Notation)
1、JSON起源
JSON(JavaScript Object Notation,JavaScript對象表示法)是一種輕量級的數據交換格式,由Douglas Crockford在2001年提出,它的設計目標是把數據格式簡單化,具有良好的可讀性,同時也方便程序讀取和生成數據。與XML格式相比,JSON格式更為簡單明了,尤其適用於Web應用程序的數據傳輸。
2、JSON數據結構
JSON數據結構由鍵值對組成,鍵值對之間用逗號「,」分隔,鍵值對之間用「:」分隔。JSON支持的數據類型有字元串、數字、布爾值、數組、對象和null。
{ "name": "張三", "age": 22, "isMarried": false, "city": ["北京", "上海"], "education": { "school": "清華大學", "major": "計算機科學與技術" }, "isStudent": null }
3、使用JSON
在JavaScript中,可以用eval()方法將JSON字元串轉換為JavaScript對象,也可以使用JSON.parse()方法將JSON字元串轉換為JavaScript對象。而在其他編程語言中,也可以使用相應的解析器將JSON字元串解析為相應的數據類型。
//將JSON字元串轉換為JavaScript對象 var jsonData = '{"name": "張三", "age": 22}'; var objData = JSON.parse(jsonData);
二、XML(eXtensible Markup Language)
1、XML起源
XML(eXtensible Markup Language,可擴展標記語言)是一種用於存儲和交換數據的文本格式,由W3C在1998年發布。與HTML相似,XML也使用標籤來描述數據,但XML的標籤不是預定義的,而是由用戶自定義的。XML在傳輸和存儲數據時具有良好的跨平台性和互操作性。
2、XML數據結構
XML由標記和文本組成,XML的標記分為開始標記、結束標記和單一標記。開始標記和結束標記成對出現,標記之間包括文本、其他標記或者空格等。所有的標記必須是嵌套的,而且不能有交叉,每個標記都必須被正確地打開和關閉。
<student> <name>張三</name> <age>22</age> <isMarried>false</isMarried> <city>北京</city> <city>上海</city> <education> <school>清華大學</school> <major>計算機科學與技術</major> </education> <isStudent>null</isStudent> </student>
3、使用XML
在Web開發中,可以使用XMLHttpRequest對象發送XML格式的數據,也可以使用DOM解析器將XML字元串解析為DOM樹,然後對DOM樹進行操作。在其他編程語言中,也可以使用相應的解析器將XML字元串解析為相應的數據類型。
//使用XMLHttpRequest對象發送XML格式的數據 var xhr = new XMLHttpRequest(); xhr.open("POST", "url", true); xhr.setRequestHeader("Content-type", "application/xml"); xhr.send("<student><name>張三</name><age>22</age></student>"); //使用DOM解析器解析XML字元串 var parser = new DOMParser(); var xmlDoc = parser.parseFromString("<student><name>張三</name><age>22</age></student>", "text/xml");
三、YAML(YAML Ain’t Markup Language)
1、YAML起源
YAML(YAML Ain’t Markup Language,YAML不是標記語言)是一種人類友好的數據序列化格式,由Clark Evans在2001年發布。YAML的設計目標是彌補XML的複雜性和JSON的不足,它的語法簡單,可讀性強,支持注釋,同時還支持對象、數組、布爾值、null和日期等數據類型。
2、YAML數據結構
YAML使用縮進來表示層級關係,使用「:」來表示鍵值對的關係。YAML支持的數據類型有字元串、數字、布爾值、日期、數組、對象和null。YAML的注釋使用「#」開頭,直到行末為止,可以注釋任何內容。
#學生信息 name: 張三 age: 22 isMarried: false city: - 北京 - 上海 education: school: 清華大學 major: 計算機科學與技術 isStudent: null
3、使用YAML
在其他編程語言中,可以使用相應的解析器將YAML字元串解析為相應的數據類型,也可以使用YAML庫將YAML字元串轉換為相應的數據類型。
//將YAML字元串轉換為JavaScript對象 var yamlData = "name: 張三\nage: 22"; var objData = jsyaml.safeLoad(yamlData);
四、CSV(Comma-Separated Values)
1、CSV起源
CSV(Comma-Separated Values,逗號分隔值)是一種常用的簡單文件格式,它用逗號分隔數據,每行數據表示一個記錄,多行數據組成一個表格。CSV格式簡單、易於使用和存儲,常用於電子表格和資料庫的導入導出。
2、CSV數據結構
CSV格式中,每個記錄佔據一行,每個欄位用逗號隔開。如果欄位中包含逗號,那麼需要使用雙引號括起來,雙引號中的逗號不作為分隔符。如果欄位中包含雙引號,那麼需要使用兩個雙引號代替。
姓名,年齡,性別,城市 "張三",22,"男","北京" "李四",24,"女","上海" "王五",20,"男","廣州"
3、使用CSV
在其他編程語言中,可以使用相應的解析器將CSV字元串解析為相應的數據類型,也可以使用CSV庫將CSV字元串轉換為相應的數據類型。
//將CSV字元串轉換為JavaScript對象 var csvData = '姓名,年齡,性別,城市\n"張三",22,"男","北京"'; var objData = Papa.parse(csvData, {header: true});
可以看出,每個數據交換格式都有其獨特的特點和優缺點,應根據實際情況選擇合適的數據交換格式。
原創文章,作者:ELPO,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/147412.html