Jadual Kandungan
回复讨论(解决方案)
Rumah pembangunan bahagian belakang tutorial php php接受json格式的数据如何解析

php接受json格式的数据如何解析

Jun 23, 2016 pm 02:17 PM

PHP JSON Jquery

$(document).ready(function(){        var jsonText ="{'user':[{'username':'zhangsan','password':'123'},{'username':'xx','password':'456'}]}";	$("a").click(function(){			$.post('a.php',{data:jsonText},function(data){			alert(data);		});	});});
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk


php文件中要如何解析接收到的data,求大神指教???


回复讨论(解决方案)

用json_decode将json字符串转化为数组

$arr = json_decode($_POST['data'],true);print_r($arr);
Salin selepas log masuk


Array ( [user] => Array ( [0] => Array ( [username] => zhangsan [password] => 123 ) [1] => Array ( [username] => xx [password] => 456 ) ) )

#1楼正解
用json_decode POST过来的参数就可以了

<?php$arr = json_decode($_POST['data'],true);print_r($arr);?>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

返回值在前端接收的时候为空,alert(data);什么也没有,why??

<?php$arr = json_decode($_POST['data'],true);print_r($arr);?>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

返回值在前端接收的时候为空,alert(data);什么也没有,why??
你直接打印出接收到的$_POST['data']就知道什么原因了。

<?php$arr = json_decode($_POST['data'],true);print_r($arr);?>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

返回值在前端接收的时候为空,alert(data);什么也没有,why??

那你直接输出$_POST['data'],瞧瞧


<?php$arr = json_decode($_POST['data'],true);print_r($arr);?>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

返回值在前端接收的时候为空,alert(data);什么也没有,why??
你直接打印出接收到的$_POST['data']就知道什么原因了。

print_r($_POST['data']);是有值的,json_decode后就没有了。。。



<?php$arr = json_decode($_POST['data'],true);print_r($arr);?>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

返回值在前端接收的时候为空,alert(data);什么也没有,why??
你直接打印出接收到的$_POST['data']就知道什么原因了。

print_r($_POST['data']);是有值的,json_decode后就没有了。。。
有值又不代表json就能解析,贴出来看看

print_r($_POST['data']);前端接收之后,弹出如下图



是不是json格式不正确啊???

print_r($_POST['data']);前端接收之后,弹出如下图



是不是json格式不正确啊???



print_r($_POST['data']);前端接收之后,弹出如下图



是不是json格式不正确啊???





$(document).ready(function(){        var jsonText ="{'user':[{'username':'zhangsan','password':'123'},{'username':'xx','password':'456'}]}";	$("a").click(function(){			$.post('a.php',{data:jsonText},function(data){			alert(data);		});	});});
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk


json格式不是这样的吗?那json格式要如何来写呢?

把前端传递的json字符串改为

var jsonText ="{\"user\":[{\"username\":\"zhangsan\",\"password\":\"123\"},{\"username\":\"xx\",\"password\":\"456\"}]}";
Salin selepas log masuk

或者改为

var jsonText ='{"user":[{"username":"zhangsan","password":"123"},{"username":"xx","password":"456"}]}';
Salin selepas log masuk


另外你最两个大括号之间的逗号是全角的吧,改成半角



print_r($_POST['data']);前端接收之后,弹出如下图



是不是json格式不正确啊???





$(document).ready(function(){        var jsonText ="{'user':[{'username':'zhangsan','password':'123'},{'username':'xx','password':'456'}]}";	$("a").click(function(){			$.post('a.php',{data:jsonText},function(data){			alert(data);		});	});});
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk


json格式不是这样的吗?那json格式要如何来写呢?


var jsonText ={"user":[{"username":"zhangsan","password":"123"},{"username":"xx","password":"456"}]};


试试可以不



print_r($_POST['data']);前端接收之后,弹出如下图



是不是json格式不正确啊???





$(document).ready(function(){        var jsonText ="{'user':[{'username':'zhangsan','password':'123'},{'username':'xx','password':'456'}]}";	$("a").click(function(){			$.post('a.php',{data:jsonText},function(data){			alert(data);		});	});});
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk


json格式不是这样的吗?那json格式要如何来写呢?

var jsonText = JSON.stringify({user:[{username:'zhangsan',password:'123'},{username:'xx',password:'456'}]});
Salin selepas log masuk

如果你发现不支持JSON的浏览器,你可以使用jquery的json插件将js的对象数据转换成json标准格式。

楼主最后怎么解决的 方法分享一下呗

楼主最后怎么解决的 方法分享一下呗

就是按照大家说的把json格式修改了一下,就OK啦,真的是我的json格式写错了。
楼上说的json是正确的
非常感谢大家!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

11 skrip pemendek URL terbaik PHP (percuma dan premium) 11 skrip pemendek URL terbaik PHP (percuma dan premium) Mar 03, 2025 am 10:49 AM

11 skrip pemendek URL terbaik PHP (percuma dan premium)

Pengenalan kepada API Instagram Pengenalan kepada API Instagram Mar 02, 2025 am 09:32 AM

Pengenalan kepada API Instagram

Bekerja dengan Data Sesi Flash di Laravel Bekerja dengan Data Sesi Flash di Laravel Mar 12, 2025 pm 05:08 PM

Bekerja dengan Data Sesi Flash di Laravel

Respons HTTP yang dipermudahkan dalam ujian Laravel Respons HTTP yang dipermudahkan dalam ujian Laravel Mar 12, 2025 pm 05:09 PM

Respons HTTP yang dipermudahkan dalam ujian Laravel

Curl dalam PHP: Cara Menggunakan Pelanjutan PHP Curl dalam API REST Curl dalam PHP: Cara Menggunakan Pelanjutan PHP Curl dalam API REST Mar 14, 2025 am 11:42 AM

Curl dalam PHP: Cara Menggunakan Pelanjutan PHP Curl dalam API REST

Bina aplikasi React dengan hujung belakang Laravel: Bahagian 2, React Bina aplikasi React dengan hujung belakang Laravel: Bahagian 2, React Mar 04, 2025 am 09:33 AM

Bina aplikasi React dengan hujung belakang Laravel: Bahagian 2, React

12 skrip sembang php terbaik di codecanyon 12 skrip sembang php terbaik di codecanyon Mar 13, 2025 pm 12:08 PM

12 skrip sembang php terbaik di codecanyon

Pemberitahuan di Laravel Pemberitahuan di Laravel Mar 04, 2025 am 09:22 AM

Pemberitahuan di Laravel

See all articles