本文小編為大家詳細(xì)介紹“JSON的語(yǔ)法是什么”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“JSON的語(yǔ)法是什么”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來(lái)學(xué)習(xí)新知識(shí)吧。
為萬(wàn)榮等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及萬(wàn)榮網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都做網(wǎng)站、成都網(wǎng)站制作、萬(wàn)榮網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
json是一種數(shù)據(jù)格式,不是一種編程語(yǔ)言。
json是一種輕量級(jí)的數(shù)據(jù)格式,可以簡(jiǎn)化表示復(fù)雜數(shù)據(jù)結(jié)構(gòu)的工作量。
1、語(yǔ)法
①json字符串必須使用雙引號(hào)
②沒(méi)有聲明變量
③沒(méi)有末尾分號(hào)
④json對(duì)象中的屬性名必須加雙引號(hào)
json的語(yǔ)法可以表示三種類型的值
簡(jiǎn)單值:使用與js相同的語(yǔ)法,可以在json中表示字符串、數(shù)值、布爾值和null。(不支持undefined)
"hello world"
對(duì)象:
{
"name":"Ewall",
"age":21
}
數(shù)組:
[25,"ewall",true]
2、JSON對(duì)象
兩個(gè)方法:stringfy( ):把js對(duì)象序列化為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( )的具體用法
該方法可以傳入三個(gè)參數(shù),第一個(gè)參數(shù)是要序列化的對(duì)象;第二個(gè)是個(gè)過(guò)濾器(可以是數(shù)組或者是函數(shù));第三個(gè)是一個(gè)選項(xiàng),表示是否在JSON字符串中保留縮進(jìn)。
①當(dāng)過(guò)濾器是數(shù)組,那么該方法返回的結(jié)果將只包含數(shù)組中列出的屬性
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}
②當(dāng)過(guò)濾器是函數(shù)。傳入的函數(shù)接收兩個(gè)參數(shù),屬性名和屬性值,根據(jù)屬性名可以知道應(yīng)該如何處理要序列化的對(duì)象中的屬性。
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; //通過(guò)返回undefined刪除該屬性
default:
return value;
}
});
console.log(jsonText); //{"name":"Ewall","friends":"joe,frank","edition":3}
4、JSON.parse( )方法的具體用法
接收兩參數(shù):第一個(gè)參數(shù)是要序列化的對(duì)象;第二個(gè)參數(shù)是個(gè)還原函數(shù)。
在將日期字符串轉(zhuǎn)換為Date對(duì)象是,經(jīng)常要用到還原函數(shù)。
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); //基于相應(yīng)的json值創(chuàng)建一個(gè)新的Date對(duì)象
}else{
return value;
}
});
console.log(bookCopy.releaseDate);
讀到這里,這篇“JSON的語(yǔ)法是什么”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過(guò)才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。