自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何更很好的生成JSON文本進行詳細介紹

開發(fā)
下面看看頁面json_encode.htm,這個頁面模仿了通常的注冊頁面,在其上面有一個表單,當提交時,觸發(fā)JavaScript函數(shù),生成一個用戶對象user,將表單內(nèi)容設(shè)為用戶對象的屬性,生成JSON文本。

如果你和我一樣,喜歡在自己的項目中使用開源的JavaScript框架,那么你可能可以省去使用json2.js文件了,這里以protype.js為例,該文件可以在http://www.prototypejs.org下載,由于本文不是在講JavaScript框架,這里我假設(shè)你對prototype.js的使用已經(jīng)有所了解了。

Prototype.js中提供了對Object對象的toJSON方法,你可以使用Object.toJSON()方法來實現(xiàn)對對象的串行化,例如: 復(fù)制JSON文本到剪貼板

代碼:

  1. de>var cat=  
  2. {  
  3. name:"hellokitty",  
  4. height:"6 apples"  
  5. }  
  6. alert(Object.toJSON(cat));   
  7. //將彈出對話框,內(nèi)容為 {"name": "hellokitty", "height": "6 apples"}de> 

另外,在prototype.js中還有另外的JSON支持,主要是在Ajax對象中對Ajax返回請求中JSON內(nèi)容的解析。這里暫時與我們的內(nèi)容無關(guān),也不再介紹了。在上面我們一起了解了PHP進行對象串行化的方法以及在JavaScript中進行將對象串行化為JSON的方法。

你大致會質(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ā)JavaScript函數(shù),生成一個用戶對象user,將表單內(nèi)容設(shè)為用戶對象的屬性,生成JSON文本,以POST方式傳遞到后臺的json_encode.php文件。在 js_encode.php文件中,將JSON文本json_decode函數(shù)解析為PHP對象,并輸出。

責任編輯:chenqingxiang 來源: 清華大學(xué)出版社
相關(guān)推薦

2010-01-08 11:11:38

JSON 序列化

2010-03-02 14:35:58

linux文本環(huán)境安裝

2010-01-07 15:41:58

XML轉(zhuǎn)換為JSON

2009-12-24 10:04:38

Linux進行C編譯

2010-01-08 14:27:45

JSON 幫助

2010-01-06 15:30:51

JSON和XML

2010-03-05 10:10:04

2009-12-04 15:28:36

PHP JSON類庫

2010-01-05 17:06:46

JSON 數(shù)據(jù)

2009-12-08 09:21:13

WCF數(shù)據(jù)量

2018-03-27 13:33:48

百度

2010-01-05 13:29:50

JSON對象

2010-02-03 15:09:13

Python 構(gòu)建工具

2009-12-29 15:30:15

ADO Insert

2010-01-08 14:36:01

生成 JSON

2010-01-11 11:27:25

C++語言

2009-12-29 15:22:40

ADO.NET類庫

2010-03-30 16:29:24

共享無線上網(wǎng)

2009-06-18 09:47:14

Spring的核心

2010-04-06 13:33:41

Oracle服務(wù)
點贊
收藏

51CTO技術(shù)棧公眾號