JSON
一、JSON 的全名是 JavaScript Object Notation
JSON 語法是 JavaScript Object 的子集。
二、JavaScript Object 跟 JavaScript Object Notation 的差異
1、表示一個 JavaScript Object 的寫法為
{ name:"John" }
2、表示一個 JavaScript Object Notation 的寫法為
{ "name":"John" }
三、Valid Data Types
JSON 的值可為下列型態
1、string
2、number
3、object (JSON object)
4、array
5、boolean
6、null
而 JavaScript Object 的值除了可為上述六種型態之外,另外可允許下列三種型態
7、function
8、date
9、undefined
四、JSON.stringify()
語法為 JSON.stringify(value[, replacer[, space]])
var obj = { name: "John", age: 30, city: "New York" }; var myJSON = JSON.stringify(obj); myJSON;
說明:
1 、JSON.stringify 方法常用來傳送資料至 server,負責將 javascript object 轉成 JSON 格式字串。
2、JSON.stringify 方法不能對 function、undefinded 做轉換(會直接省略)。
var obj = { name: "John", age: function () { return 30; }, city: undefined }; var myJSON = JSON.stringify(obj); myJSON;
3、JSON.stringify(value[, replacer]) 的用法
var obj = { name: "John", age: 30, city: "New York" }; var myJSON = JSON.stringify(obj, function (key, value) { if (key === "name") { return "tom"; } else if (key === "age") { return 40; } else { return value; } }); myJSON;
4、JSON.stringify(value[, replacer[, space]]) 的用法
var obj = { name: "John", age: 30, city: "New York" }; var myJSON = JSON.stringify(obj, null, "abc"); myJSON;
五、JSON.parse()
語法為 JSON.parse(text[, reviver])
var data = '{ "name":"John", "age":30, "city":"New York"}'; var obj = JSON.parse(data); obj;
說明:
1、JSON.parse 方法常用來接收 server pass 過來的資料,負責將 string 轉成 javascript object。
2、JSON.parse(text[, reviver]) 的用法
var text = '{ "name":"John", "age":30, "city":"New York"}'; var obj = JSON.parse(text, function (key, value) { if (key === "name") { return "Tom"; } else { return value; } }); obj;
參考資料: