一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - PHP處理Json字符串解碼返回NULL的解決方法

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

2020-07-26 16:11PHP教程網 PHP教程

這篇文章主要介紹了PHP處理Json字符串解碼返回NULL的解決方法,以一個過濾函數的實例展示了處理json返回錯誤的解決方法,并羅列了造成這一錯誤的常見情況,需要的朋友可以參考下

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

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

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

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

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

實現代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/*
* 過濾函數
*/
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字符串數據到服務端處理,只能在客戶端進行過濾。

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

1.$str只能UTF-8編碼

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

3.元素不能使用單引號

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

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产普通话对白露脸流出 | 亚洲午夜大片 | 邪恶肉肉全彩色无遮琉璃神社 | 四虎影院新网址 | 色偷偷91久久综合噜噜噜 | 日本加勒比在线播放 | 无限国产资源 | japonensis日本护士 | 四虎影视4hutv最新地址在线 | 啊啊啊好大在线观看 | 小寡妇水真多好紧 | 99久久精品国产免看国产一区 | 精新精新国产自在现 | www.俺去| 美女脱一光二净的视频 | 欧美一区二区三区高清不卡tv | 久久青青草原综合伊人 | 久久精品国产色蜜蜜麻豆国语版 | 高清一级做a爱免费视 | 日本不卡一区二区三区在线观看 | 貂蝉沦为姓奴小说 | 亚洲精品第五页中文字幕 | 亚州男人的天堂 | 偷偷操不一样 | 美女被躁爽死 | 国产亚洲精品久久yy5099 | 亚洲福利精品电影在线观看 | fuqer日本| 男人和女人日 | 欧式午夜理伦三级在线观看 | 短篇同学新婚h系列小说 | 日韩欧美色 | 第一福利在线观看永久视频 | 国产清纯白嫩大学生正在播放 | 四虎精品永久免费 | 娇妻与公陈峰姚瑶小说在线阅读 | 美女禁区视频免费观看精选 | 久久精品一卡二卡三卡四卡视频版 | 国产伦久视频免费观看视频 | 99自拍视频在线观看 | 亚洲天堂2013 |