在開發(fā)中,我們經(jīng)常需要使用json格式的數(shù)據(jù)。JSON是一種輕量級(jí)的數(shù)據(jù)交換格式,簡(jiǎn)潔但功能強(qiáng)大。在JavaScript中,Blink引擎也提供了對(duì)JSON數(shù)據(jù)進(jìn)行處理的接口。下面我們來看一下Blink中對(duì)JSON結(jié)構(gòu)數(shù)據(jù)的處理。
首先需要了解一下JSON的基本結(jié)構(gòu)。JSON數(shù)據(jù)是由一組鍵值對(duì)組成,鍵值對(duì)之間用逗號(hào)分隔,整個(gè)數(shù)據(jù)由一對(duì)大括號(hào)包圍而成。例如:
{ "name": "Jack", "age": 26, "city": "Beijing" }
在Blink中,我們可以使用JSON.parse()方法把JSON數(shù)據(jù)轉(zhuǎn)換為JavaScript對(duì)象。例如:
var jsonStr = '{"name":"Jack","age":26,"city":"Beijing"}'; var jsonObj = JSON.parse(jsonStr);
這樣,我們就可以像操作普通JavaScript對(duì)象一樣來操作這個(gè)對(duì)象。
如果我們想把一個(gè)JavaScript對(duì)象轉(zhuǎn)換為JSON格式的數(shù)據(jù),可以使用JSON.stringify()方法。例如:
var jsonObj = {"name":"Jack","age":26,"city":"Beijing"}; var jsonStr = JSON.stringify(jsonObj);
這樣,我們就可以將jsonObj對(duì)象轉(zhuǎn)換為JSON格式的字串。
在Blink中,JSON對(duì)象還提供了一個(gè)很實(shí)用的方法,即JSON.stringify(obj, replacer, space)。其中,replacer參數(shù)可以是一個(gè)函數(shù)或一個(gè)數(shù)組,用于控制轉(zhuǎn)換過程中哪些屬性應(yīng)該被序列化,space參數(shù)是用來增加可讀性的縮進(jìn)空格數(shù),可以是一個(gè)數(shù)字或字符串。例如:
var jsonObj = {"name":"Jack","age":26,"city":"Beijing"}; var jsonStr = JSON.stringify(jsonObj, function(key, value){ if(key === 'age') return undefined; else return value; }, 4);
這樣,我們就可以把jsonObj轉(zhuǎn)換為JSON格式的字串,并且過濾掉其中的age屬性,增加4個(gè)空格的縮進(jìn)。
上面講述了Blink中對(duì)JSON結(jié)構(gòu)數(shù)據(jù)的基本處理方法,開發(fā)中使用JSON數(shù)據(jù)可以更加方便和高效。