闡述JSON數(shù)組格式的相關(guān)說明介紹
讓我們開始這個(gè)新概念的旅程,串行化這個(gè)話題可能大家以前都沒有多加關(guān)注,事情其實(shí)起源于那天我隨便翻翻PHP手冊(cè),發(fā)現(xiàn)這個(gè)串行化的函數(shù),之后閑來無聊又做一個(gè)JSON數(shù)組格式的插件,這個(gè)時(shí)候順便用了一下串行化,發(fā)現(xiàn)在某些場(chǎng)合的確非常方便。
先來解釋下串行化:簡(jiǎn)單來說,串行化即將變量轉(zhuǎn)換成字節(jié)流的過程。串行化的提出,有效的解決了對(duì)象的保存和傳輸?shù)膯栴},舉例來說,我在JavaScript中建立了一個(gè)對(duì)象,我現(xiàn)在想將這個(gè)對(duì)象保存到服務(wù)器端的數(shù)據(jù)庫中,那么我如何進(jìn)行操作呢,這個(gè)時(shí)候往往就用到了對(duì)象的串行化。#t#
在JavaScript的串行化中不得不提JSON數(shù)組格式,JSON(JavaScript Object Notation) 是一種輕量級(jí)的數(shù)據(jù)交換格式。易于人閱讀和編寫,同時(shí)也易于機(jī)器解析和生成。它基于JavaScript Programming Language,JSON數(shù)組格式一個(gè)子集。 JSON采用完全獨(dú)立于語言的文本格式,但是也使用了類似于C語言家族的習(xí)慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)。這些特性使JSON成為理想的數(shù)據(jù)交換語言。#t#
人們通常將JSON和JSON數(shù)組格式進(jìn)行比較,二者都是將對(duì)象扁平化(稍后我們解釋這個(gè)“扁平化”)的一種手段,XML的特點(diǎn)是結(jié)構(gòu)嚴(yán)謹(jǐn),而JSON的特點(diǎn)則是簡(jiǎn)單易讀、容易使用程序進(jìn)行分析,因?yàn)樗軌蚝芎?jiǎn)單的將一個(gè)對(duì)象轉(zhuǎn)換為一個(gè)字符流的形式,例如如下代碼:
- {"type":"human","name":"hanguofeng","age":22}
則是一個(gè)JSON表達(dá)式,他保存了一個(gè)對(duì)象,我們?nèi)绾螌⑺謴?fù)為對(duì)象呢?很簡(jiǎn)單,如下:
- var animal_str = '{"type":"human","name":"hanguofeng","age":22}';
- var animal2=eval('(' + animal_str + ')');
我們通過JavaScript的求值函數(shù),將JSON表達(dá)式進(jìn)行運(yùn)算,并返回值,用以獲得一個(gè)對(duì)象,到這里,我想你一定會(huì)和我一樣,對(duì)JSON格式的創(chuàng)造者的思維佩服不已吧。本來說講串行化的,“不小心”談到JSON數(shù)組格式,并且講了這么多,呵呵,跑題了嗎?沒有,PHP的串行化和JSON是非常像的,一個(gè)PHP的串行化表達(dá)式如下:
- array
- (
- "type" => "human",
- "name" => "hanguofeng",
- "age" => "20"
- );