專家說明PHP串行化JSON的種種問題給予解答
以下的文章著重介紹了只是讓你大致看到PHP串行化JSON是什么樣的東西,你無須對這里的代碼過分糾結(jié),我們在后面會詳細(xì)講解的,下面我們來談?wù)劄槭裁匆褂么谢?讓我們開始這個新概念的旅程。
先來解釋下串行化:簡單來說,串行化即將變量轉(zhuǎn)換成字節(jié)流的過程。串行化的提出,有效的解決了對象的保存和傳輸?shù)膯栴},舉例來說,我在 JavaScript中建立了一個對象,我現(xiàn)在想將這個對象保存到服務(wù)器端的數(shù)據(jù)庫中,那么我如何進(jìn)行操作呢,這個時候往往就用到了對象的串行化。
在 JavaScript的串行化中不得不提JSON,JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式。易于人閱讀和編寫,同時也易于機器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一個子集。#t#
JSON采用完全獨立于語言的文本格式,但是也使用了類似于C語言家族的習(xí)慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)。這些特性使JSON成為理想的數(shù)據(jù)交換語言。
人們通常將PHP串行化JSON和XML進(jìn)行比較,二者都是將對象扁平化(稍后我們解釋這個“扁平化”)的一種手段,XML的特點是結(jié)構(gòu)嚴(yán)謹(jǐn),而JSON的特點則是簡單易讀、容易使用程序進(jìn)行分析,因為它能夠很簡單的將一個對象轉(zhuǎn)換為一個字符流的形式,例如下面列出的代碼。
代碼如下:
- de> {"type":"human","name":"hanguofeng","age":22}de>
我們通過JavaScript的求值函數(shù),將JSON表達(dá)式進(jìn)行運算,并返回值,用以獲得一個對象,到這里,我想你一定會和我一樣,對JSON格式的創(chuàng)造者的思維佩服不已吧。
本來說講串行化的,“不小心”談到PHP串行化JSON,并且講了這么多,呵呵,跑題了嗎?沒有,PHP的串行化和JSON是非常像的。
代碼如下:
- de> var animal_str = '{"type":"human","name":"hanguofeng","age":22}';
- var animal2=eval('(' + animal_str + ')');de>