亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

PHP處理Json字符串解碼返回NULL的解決方法

 更新時間:2014年09月01日 09:33:59   投稿:shichen2014  
這篇文章主要介紹了PHP處理Json字符串解碼返回NULL的解決方法,以一個過濾函數(shù)的實例展示了處理json返回錯誤的解決方法,并羅列了造成這一錯誤的常見情況,需要的朋友可以參考下

本文實例講述了PHP處理Json字符串解碼返回NULL的解決方法。分享給大家供大家參考之用。具體方法如下:

一般來說,php對json字符串解碼使用json_decode()函數(shù),第一個參數(shù)傳字符串,第二個參數(shù)若為true,返回array;若為false,返回object。如果返回NULL,說明報錯,輸出json_last_error(),得到的整數(shù)值對應錯誤提示。如下圖所示:

json_last_error()比較常見的是整數(shù)4, 是json字符串在json_decode之前已不完整,所以語法錯誤。

那么一定是客戶端提交的個別字符影響了json的格式,可以使用JS進行過濾,可以解決一般問題,主要過濾回車,空格,html標簽。

實現(xiàn)代碼如下:

/*
* 過濾函數(shù)
*/
function htmlEncode(str) {
 str = str.replace(/\s+/ig, '');
 str = str.replace(/&/g, '');
 str = str.replace(/</g, '');
 str = str.replace(/>/g, '');
 str = str.replace(/(?:t| |v|r)*n/g, '<br />');
 str = str.replace(/t/g, '&nbsp; &nbsp; ');
 str = str.replace(/x22/g, '&quot;');
 str = str.replace(/x27/g, '&#39;');
 str = str.replace(/"/g, "");
 return str;
}

以上情況針對的是,你必須提交json字符串數(shù)據(jù)到服務端處理,只能在客戶端進行過濾。

其它的json_decode($str)返回NULL的一些原因:

1.$str只能UTF-8編碼

2.元素最后不能有逗號(與php的array不同)

3.元素不能使用單引號

4.元素值中間不能有空格和\n,必須替換

如果大家遇到了上述情況,可以按照以上方法處理一下。

PS:關于json操作,這里再為大家推薦幾款比較實用的json在線工具供大家參考使用:

在線JSON代碼檢驗、檢驗、美化、格式化工具:
http://tools.jb51.net/code/json

JSON在線格式化工具:
http://tools.jb51.net/code/jsonformat

在線XML/JSON互相轉(zhuǎn)換工具:
http://tools.jb51.net/code/xmljson

json代碼在線格式化/美化/壓縮/編輯/轉(zhuǎn)換工具:
http://tools.jb51.net/code/jsoncodeformat

在線json壓縮/轉(zhuǎn)義工具:

http://tools.jb51.net/code/json_yasuo_trans

C語言風格/HTML/CSS/json代碼格式化美化工具:
http://tools.jb51.net/code/ccode_html_css_json

希望本文所述對大家的PHP程序設計有所幫助。

相關文章

  • php.ini中的php-5.2.0配置指令詳解

    php.ini中的php-5.2.0配置指令詳解

    簡介本文并非是對英文版 php.ini 的簡單翻譯,而是參考了眾多資料以后,結(jié)合自己的理解, 在原有 php.ini 基礎上增加了一些實用模塊的配置說明,同時對文件內(nèi)容的安排進行了調(diào)整。 由于作者不喜歡 no-free 的玩意兒,所以刪除了除 MySQL 和 PostgreSQL 以外的其他數(shù)據(jù)庫模塊配置選項。
    2008-03-03
  • Laravel中正確地返回HTTP狀態(tài)碼方法示例

    Laravel中正確地返回HTTP狀態(tài)碼方法示例

    這篇文章主要給大家介紹了如何在Laravel中正確地返回HTTP狀態(tài)碼的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Laravel具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-09-09
  • 最新評論