PHP处理Json字符串解码返回NULL的解决方法,jsonnull_PHP教程
PHP处理Json字符串解码返回NULL的解决方法,jsonnull
本文实例讲述了PHP处理Json字符串解码返回NULL的解决方法。分享给大家供大家参考之用。具体方法如下:
一般来说,php对json字符串解码使用json_decode()函数,第一个参数传字符串,第二个参数若为true,返回array;若为false,返回object。如果返回NULL,说明报错,输出json_last_error(),得到的整数值对应错误提示。如下图所示:
json_last_error()比较常见的是整数4, 是json字符串在json_decode之前已不完整,所以语法错误。
那么一定是客户端提交的个别字符影响了json的格式,可以使用JS进行过滤,可以解决一般问题,主要过滤回车,空格,html标签。
实现代码如下:
/* * 过滤函数 */ 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, ' '); str = str.replace(/x22/g, '"'); str = str.replace(/x27/g, '''); str = str.replace(/"/g, ""); return str; }
以上情况针对的是,你必须提交json字符串数据到服务端处理,只能在客户端进行过滤。
其它的json_decode($str)返回NULL的一些原因:
1.$str只能UTF-8编码
2.元素最后不能有逗号(与php的array不同)
3.元素不能使用单引号
4.元素值中间不能有空格和\n,必须替换
如果大家遇到了上述情况,可以按照以上方法处理一下。希望本文所述对大家的PHP程序设计有所帮助。
b.php 必须在取json内容时提交cookie值,否则a.php 只会返回空的内容。
用单引号把你的键引起来 就可以了试下。
$arr = array ('Amenities' =>array ('Restaurant/Café' => array('Classroom' => 'Classroom')));
echo json_encode($arr) ;

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

DeepSeek: Bagaimana menangani AI yang popular yang sesak dengan pelayan? Sebagai AI panas pada tahun 2025, DeepSeek adalah sumber percuma dan terbuka dan mempunyai prestasi yang setanding dengan versi rasmi OpenAIO1, yang menunjukkan popularitinya. Walau bagaimanapun, kesesuaian yang tinggi juga membawa masalah kesibukan pelayan. Artikel ini akan menganalisis sebab -sebab dan menyediakan strategi mengatasi. DeepSeek Web Version Masuk: https://www.deepseek.com/deepseek Server Sibuk Sebab: Akses serentak yang tinggi: Ciri -ciri percuma dan berkuasa DeepSeek menarik sejumlah besar pengguna untuk digunakan pada masa yang sama, mengakibatkan beban pelayan yang berlebihan. Serangan Siber: Dilaporkan bahawa DeepSeek mempunyai kesan terhadap industri kewangan AS.

Apabila berdagang pada platform perdagangan mata wang digital, keadaan yang paling membimbangkan ialah penjual tidak melepaskan duit syiling selepas membeli mereka atau pembeli tidak dapat membayar. Kedua -dua situasi ini akan menjejaskan urus niaga seterusnya. Artikel ini akan memberi tumpuan kepada bagaimana pembeli tidak dapat membayar. Apa yang perlu saya lakukan jika saya tidak dapat membayar jika saya membeli duit syiling? Apabila menghadapi situasi di mana pembayaran tidak mungkin, anda harus terlebih dahulu menyemak kaedah pembayaran dan status akaun anda sendiri, dan kemudian sahkan sama ada rangkaian dan platform dagangan beroperasi secara normal. Sekiranya masalahnya tetap sama, menghubungi perkhidmatan pelanggan platform biasanya merupakan penyelesaian yang paling berkesan. Berikut adalah beberapa penyelesaian yang lebih terperinci: Masalah Kaedah Pembayaran: Sesetengah bank atau institusi kad kredit boleh menyekat urus niaga yang berkaitan dengan cryptocurrency, terutama pembayaran antarabangsa. Adalah disyorkan untuk cuba menghubungi bank atau syarikat kad kredit untuk sekatan dan mendapatkan pengangkatan sementara; atau menggunakan kaedah pembayaran lain.

Selesaikan masalah antara muka pihak ketiga yang kembali 403 dalam persekitaran Node.js. Apabila kita menggunakan Node.js untuk memanggil antara muka pihak ketiga, kita kadang-kadang menghadapi kesilapan 403 dari antara muka yang kembali 403 ...

Penerangan Masalah Apabila memanggil Alipay Easysdk menggunakan PHP, selepas mengisi parameter mengikut kod rasmi, mesej ralat dilaporkan semasa operasi: "Undefined ...

Menggunakan rangka kerja ThinkPhp6 yang digabungkan dengan klien Elasticsearch-PhP untuk mengendalikan Elasticsearch ...

Halaman ini kosong selepas PHP menghubungkan ke MySQL, dan sebab mengapa fungsi mati () gagal. Semasa mempelajari hubungan antara pangkalan data PHP dan MySQL, anda sering menemui beberapa perkara yang membingungkan ...

Punca dan penyelesaian untuk kesilapan Apabila menggunakan PECL untuk memasang sambungan dalam persekitaran Docker Apabila menggunakan persekitaran Docker, kami sering menemui beberapa sakit kepala ...

Alipay Php ...
