如何更很好的生成JSON文本進行詳細介紹
如果你和我一樣,喜歡在自己的項目中使用開源的JavaS
Prototype.js中提供了對Object對象的toJSON方法,你可以使用Object.toJSON()方法來實現(xiàn)對對象的串行化,例如: 復(fù)制JSON文本到剪貼板
代碼:
- de>var cat=
- {
- name:"hellokitty",
- height:"6 apples"
- }
- alert(Object.toJSON(cat));
- //將彈出對話框,內(nèi)容為 {"name": "hellokitty", "height": "6 apples"}de>
另外,在prototype.js中還有另外的JSON支持,主要是在Ajax對象中對Ajax返回請求中JSON內(nèi)容的解析。這里暫時與我們的內(nèi)容無關(guān),也不再介紹了。在上面我們一起了解了PHP進行對象串行化的方法以及在JavaS
你大致會質(zhì)疑我為什么將二者放在一起,因為他們的語法實際是不完全一樣的,然而,在PHP中,可以對JSON文本進行反串行化,也可以將PHP的對象串行化為 JSON而非PHP風格的文本。這主要是靠json_decode和json_encode兩個函數(shù)來完成的,需要特別說明的是,這兩個函數(shù)在PHP 5 >= 5.2.0中才被支持,如果你要編寫運行在PHP4環(huán)境下的程序,那么這兩個函數(shù)是不可以使用的。#t#
下面兩個例子都基于我們的一個情景假設(shè),即,我們有一個用戶注冊的模塊,這個模塊以“面向?qū)ο蟆钡姆绞焦ぷ?,?FONT>json_decode函數(shù)實例中,我們在前臺將用戶的注冊信息變?yōu)橐粋€類的屬性,而后傳遞到后臺的php文件(這里為了簡便,就不用Ajax了)。
在json_encode實例中,我們在 html文件中引用一個js文件,地址指向php文件,在php文件中輸出json編碼后的用戶對象(同樣為了簡便,我們直接生成一個對象而不從數(shù)據(jù)庫中取信息),并在html中輸出。
好了,先來看前臺的頁面json_encode.htm,這個頁面模仿了通常的注冊頁面,在其上面有一個表單,當提交時,觸發(fā)JavaS