一、語法
1.JSON 的語法可以表示以下三種類型的值
①簡單值:使用與JavaScript 相同的語法,可以在JSON 中表示字符串、數值、布爾值和null。但JSON 不支持JavaScript 中的特殊值undefined。
②對象:對象作為一種復雜數據類型,表示的是一組無序的鍵值對兒。而每個鍵值對兒中的值可以是簡單值,也可以是復雜數據類型的值。
③數組:數組也是一種復雜數據類型,表示一組有序的值的列表,可以通過數值索引來訪問其中的值。數組的值也可以是任意類型——簡單值、對象或數組。
eg: {
// 簡單值
"name" : "yang", // 字符串
"age" : 20, // 數字
"isBoy" : false,
"wife" : null,
// 對象
"sports" : {
"ball" : "pingpong",
"water" : "swimming"
},
// 數組
"fruits" : ["apple", "pear", "banana"]
}
二、解析與序列化
1.JSON對象
// 將對象轉換為字符串
var json = JSON.stringify(person); // object ==> JSON
// alert(json);
var obj = JSON.parse(json); // JSON ==> object
// alert(obj); // [object Object]
2.序列化選項
①過濾結果
// 第一種:字符串形式
// JSON.stringify()的第二個參數是數組或函數,其中包含兩個字符串,返回結果僅返回name和fruits屬性
var json = JSON.stringify(person, ["name", "fruits"]); // object ==> JSON
alert(json); // {"name":"yang","fruits":["apple","pear","banana"]}
// 第二種:函數形式
var json = JSON.stringify(person, function (key, value) {
switch(key) {
case "name":
return "xiao yang"; // 將name的值修改
case "fruits":
return value.join("|"); // 將fruits的項用|連接
default:
return value;
}
});
alert(json);
②字符串縮進,JSON.stringify()方法的第三個參數用于控制結果中的縮進和空白符
// 用---連接
var json = JSON.stringify(person, ["name", "fruits"], "---"); // object ==> JSON
alert(json);
④toJSON:可以自定義返回的數據,其實是過濾器的一種補充。
var person = {
// 簡單值
name : "zhang",
toJSON : function () {
return this.name;
}
}
var json = JSON.stringify(person); // object ==> JSON
alert(json); // "zhang"
⑤解析選項: JSON.parse()方法也接受兩個參數
第一個為json字符串
第二個為還原函數,和json.stringifY的第二個參數過濾器相似
eg: var person = {
// 簡單值
name : "zhang",
age : 20,
releaseDate: new Date(2011, 11, 1)
}
var jsonText = JSON.stringify(person);
var bookCopy = JSON.parse(jsonText, function(key, value){
if (key == "releaseDate"){
return new Date(value); // 將releaseDate的值轉化為對象
} else {
return value;
}
});
alert(bookCopy.releaseDate.getMonth()); // 11
JSON語句
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
推薦閱讀更多精彩內容
- json.dumps是將一個Python數據類型列表進行json格式的編碼解析,示例如下: 這樣我們就將一個lis...
- SQL 分類: SQL 語句主要可以劃分為以下 3 個類別。 DDL(Data Definition Langua...
- 在pom.xml文件中添加json-lib: 出現錯誤: Missing artifact net.sf.json...
- 一 if語句的分類: 1 if: 在Python中,if 語句就是用來進行判斷的,格式如下: 2 if els...