最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

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

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

實(shí)現(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;
}

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

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

1.$str只能UTF-8編碼

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

3.元素不能使用單引號(hào)

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

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

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

在線JSON代碼檢驗(yàn)、檢驗(yàn)、美化、格式化工具:
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語言風(fēng)格/HTML/CSS/json代碼格式化美化工具:
http://tools.jb51.net/code/ccode_html_css_json

希望本文所述對(duì)大家的PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論

尤溪县| 弋阳县| 南京市| 金秀| 崇左市| 钦州市| 丰镇市| 盐山县| 沙雅县| 扎鲁特旗| 冕宁县| 蒙城县| 靖宇县| 象州县| 嘉定区| 闽侯县| 墨玉县| 石门县| 鹿邑县| 嘉兴市| 锡林郭勒盟| 波密县| 南陵县| 金湖县| 林芝县| 鄂托克前旗| 韶关市| 慈溪市| 疏附县| 宣化县| 海门市| 鲁甸县| 务川| 南漳县| 开远市| 邮箱| 永春县| 江北区| 元朗区| 凤台县| 连城县|