您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“JSON的語法是什么”,內容詳細,步驟清晰,細節處理妥當,希望這篇“JSON的語法是什么”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
json是一種數據格式,不是一種編程語言。
json是一種輕量級的數據格式,可以簡化表示復雜數據結構的工作量。
1、語法
①json字符串必須使用雙引號
②沒有聲明變量
③沒有末尾分號
④json對象中的屬性名必須加雙引號
json的語法可以表示三種類型的值
簡單值:使用與js相同的語法,可以在json中表示字符串、數值、布爾值和null。(不支持undefined)
"hello world"
對象:
{
"name":"Ewall",
"age":21
}
數組:
[25,"ewall",true]
2、JSON對象
兩個方法:stringfy( ):把js對象序列化為json字符串
parse( ):把json字符串解析為原生js值
var person={
name:"Ewall",
friends:["joe","frank"],
edition:3,
year:2017
};
var jsonText=JSON.stringify(person);
console.log(jsonText);
3、JSON.stringfy( )的具體用法
該方法可以傳入三個參數,第一個參數是要序列化的對象;第二個是個過濾器(可以是數組或者是函數);第三個是一個選項,表示是否在JSON字符串中保留縮進。
①當過濾器是數組,那么該方法返回的結果將只包含數組中列出的屬性
var person={
name:"Ewall",
friends:["joe","frank"],
edition:3,
year:2017
};
var jsonText=JSON.stringify(person,["name","year"]);
console.log(jsonText); //{"name":"Ewall","year":2017}
②當過濾器是函數。傳入的函數接收兩個參數,屬性名和屬性值,根據屬性名可以知道應該如何處理要序列化的對象中的屬性。
var person={
name:"Ewall",
friends:["joe","frank"],
edition:3,
year:2017
};
var jsonText=JSON.stringify(person,function(key,value){
switch(key){
case "friends":
return value.join(",");
case "year":
return undefined; //通過返回undefined刪除該屬性
default:
return value;
}
});
console.log(jsonText); //{"name":"Ewall","friends":"joe,frank","edition":3}
4、JSON.parse( )方法的具體用法
接收兩參數:第一個參數是要序列化的對象;第二個參數是個還原函數。
在將日期字符串轉換為Date對象是,經常要用到還原函數。
var person={
name:"Ewall",
friends:["joe","frank"],
edition:3,
year:2017,
releaseDate:new Date()
};
var jsonText=JSON.stringify(person);
console.log(jsonText);
var bookCopy=JSON.parse(jsonText,function(key,value){
if(key=="releaseDate"){
return new Date(value); //基于相應的json值創建一個新的Date對象
}else{
return value;
}
});
console.log(bookCopy.releaseDate);
讀到這里,這篇“JSON的語法是什么”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。