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

如何正確解決PHP缺少JSON包問題

開發(fā) 后端
PHP缺少JSON包這一問題的解決辦法由很多種,我們可以通過本文介紹的這幾種方法按自己的需求來自行選擇,以達到一個完美的效果。

PHP語言為我們帶來了許多方便之處,但是在實際操作中發(fā)現(xiàn),它并不是很容易掌握的。在我的一個網(wǎng)站項目開發(fā)中,沒有PHP5.2的環(huán)境。因此就會發(fā)生PHP缺少JSON包的問題。 #t#

這一問題的替代辦法就是重寫PHP json 的json_decode 和 json_encode方法。

這兩個PHP缺少JSON包的解決方法主要就是把數(shù)組,字符串,或者對象 轉(zhuǎn)換成 json格式的數(shù)據(jù)(特殊的一種結(jié)構(gòu)體格式) 。首先需要的是json_encode方法, 此方法 主要將 數(shù)組,字符串,對象等轉(zhuǎn)換成json格式。解決此問題的方法:

 a. 簡單版:

直接針對自己的問題需要(自己只需要將簡單的數(shù)組進行操作),可以直接將此數(shù)組進行拼串。

b。完善的 encode方法:

解決PHP缺少JSON包的問題的簡單方法就是 利用別人以完成的開源代碼:

首先想到 zend framework。 拿來 zf_json 包中的 Decoder.PHP, 和 Encoder.PHP。 Decoder.PHP其實只要將其中某個protect方法的 protect去掉就行。 具體操作忘了,讀者自行調(diào)試來解決。改寫好Decoder 類后,調(diào)用如下:

 

  1. $filepath = $_SERVER['DOCUMENT_ROOT'];  
  2. include $filepath.'/inc/json/Encoder.PHP';   
  3. $encoder = new Zend_Json_Encoder(false);  
  4. $json = $encoder ->encode($result);   
  5. header("X-JSON: $json"); 

json_decode方法同上,如果是PHP使用。

由于很多使用json的地方還是在ajax調(diào)用中, 所以一些ajax '框架' 提供了decode方法來解決PHP缺少JSON包這一問題:

比如在prototype中, 如果PHP頁面包含了prototype.js, 那么就可以直接來調(diào)用 function(transport, json) { 。。操作} 在其中取json數(shù)據(jù) 就是 json.a , json.b 等了。

除了PHP缺少JSON包這一問題的出現(xiàn)外,可能遇到問題,編碼。

zend framework返回的漢字編碼估計不大對應(yīng)(不是說它不是utf-8)我的頁面編碼(utf-8),因此會有問題出現(xiàn)。因此對于某些驗證返回的報錯信息(漢字)會有影響。在這里的替代方法就是使用傳統(tǒng)的接口返回數(shù)字代碼形式(通信網(wǎng)關(guān)經(jīng)常采用的方法),比如返回 json.code 有 0,1,2,3等多種可能。則在js端處理時, 0表示成功,1表示非法的客戶端數(shù)據(jù),等等。 問題得到完美解決。

責任編輯:曹凱
相關(guān)推薦

2009-12-04 14:09:52

PHP JSON應(yīng)用

2009-12-04 15:43:03

PHP JSON擴展

2009-12-04 14:29:09

PHP json_en

2017-08-02 15:51:24

PHP中文亂碼

2009-12-03 13:10:06

2010-06-29 17:04:37

SQL Server警

2009-12-11 13:33:14

PHP無法修改head

2009-11-24 10:42:06

PHP轉(zhuǎn)義符

2009-11-24 09:23:14

生成PHP類文件

2009-12-04 09:41:25

PHP函數(shù)flush(

2009-12-03 20:09:03

Tomcat支持PHP

2009-12-02 09:49:43

PHP Ajax亂碼

2010-01-07 16:50:54

Linux配置PHP環(huán)

2009-12-03 11:11:57

PHP網(wǎng)站優(yōu)化

2009-12-02 16:38:26

PHP發(fā)送郵件函數(shù)

2010-01-05 14:49:03

JSON格式

2009-11-23 10:31:25

PHP使用JSON

2009-12-11 17:52:21

PHP獲取博客數(shù)據(jù)

2009-12-01 13:29:04

PHP ini_set

2009-12-04 16:11:00

PHP Spreads
點贊
收藏

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