iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 26
1
Modern Web

用30天了解javascript系列 第 26

[用30天了解javascript]Day26.傳輸資料格式JSON 、XML

JSON及XML是兩大傳輸數據的標準。

JSON(JavaScript Object Notation)

是一種輕量級的資料交換格式,將資料轉成字串型別(純文字格式),方便資料在網頁與伺服器之間做傳輸。

  • 名稱為字串,要用 " 雙引號括起來
  • 獨立的文件儲存於檔案 (副檔名就 xxx .json)
  • value 可以是字串、數字、object、陣列、boolean、null,不能是 function, date, undefined
{
	"family":[
		{
		    "name":"John",
		    "age":29
		},
		{
		    "name":"Amy",
		    "age":29
		},
		{
		    "name":"Tommy",
		    "age":12
		},
	]
}

XML(eXtensible Markup Language)擴展標記語言

用於標記電子文件使其具有結構性的標記語言,可以用來標記數據、定義數據類型,允許使用者自己定義標記語言。

<family>
	<member>
		<name>John</name>
		<age>29</age>
	</member>
	<member>
		<name>Amy</name>
		<age>29</age>
	</member>
	<member>
		<name>Tommy</name>
		<age>12</age>
	</member>
</family>

JSON vs XML

XML

檔案龐大、檔案格式複雜、傳輸佔頻寬。伺服器端和客戶端需要花費較多的資源及時間解析XML,複雜且不易維護。

JSON

JSON資料格式比較簡單,易於讀寫、可用eval()進行JSON資料的讀取,格式都是壓縮的、佔用頻寬小。且支援多種語言,像是PHP、Python、Ruby等

JS處理JSON方式

JSON.stringify() - 將陣列轉為字串

var obj = [
	{ 
		name: "John", 
		age: 29
	}
]
var jsonString = JSON.stringify(obj);
console.log(typeof(jsonString)); //string

JSON.parse() - 將字串轉為陣列

var obj = [
	{ 
		name: "John", 
		age: 29
	}
]
var jsonString = JSON.stringify(obj);
var jsonObj = JSON.parse(jsonString);
console.log(typeof(jsonObj)); //object
console.log(obj[0].name); //John

上一篇
[用30天了解javascript]Day25.BOM
下一篇
[用30天了解javascript]Day27.AJAX
系列文
用30天了解javascript30

尚未有邦友留言

立即登入留言