PHP使用POST传递json数据的接收与处理问题

是这样的,我的项目里需要使用POST给PHP页面传递一个JSON数组,然后接收并获取取中的值,并用FOR循环将取到的数据插入数据库但是发现一个问题,我可以直接将接收到的数... 是这样的,我的项目里需要使用POST给PHP页面传递一个JSON数组,然后接收并获取取中的值,并用FOR循环将取到的数据插入数据库 但是发现一个问题,我可以直接将接收到的数据插入数据库 却不能 转成数组 再从数组中取出 对应的项目 的值插入数据库 这是代码 :
<?php
$dingdan=$_POST['caidan'];
$json = new Services_JSON();
$dingdan = $json->decode($GLOBALS["HTTP_RAW_POST_DATA"]);
$dingdan_zhuanhuan = iconv("gbk", "utf-8//ignore",$dingdan);
$dingdan=(json_decode($dingdan_zhuanhuan, true));
function zhuanhua($ARR){
for($i=0;$i<count($ARR);$i++){
"];
}
?>
[{"dianming":"川味小吃","caiming":"三文鱼","caipinjiage":"35","goumaishu":"1","goumaijiage":"35","dingcanrenshoujihao":"18088082478"}]
把每一项取出插入MYSQL.上同是传过来的caidan 信息
展开
 我来答
eros1018
游戏玩家

推荐于2017-09-04 · 非著名电竞玩家
知道小有建树答主
回答量:572
采纳率:87%
帮助的人:214万
展开全部
前端传给服务器的只是json 格式的字符串,使用json_decode,
mixed json_decode ( string $json [, bool $assoc ] )

var_dump(json_decode($json));
var_dump(json_decode($json, true));
如果不带参数,则返回为对象
带上true时,返回数组

foreach($ARR as $k=>$v){
echo 'key='.$k.';value='.$v;
}
单独处理每个key 和对应的value就好
更多追问追答
追问
[{"dianming":"川味小吃","caiming":"三文鱼","caipinjiage":"35","goumaishu":"1","goumaijiage":"35","dingcanrenshoujihao":"18088082478"}]
这是我的JSON 图片是我的处理PHP代码 这个怎么数据总是插不进去啊
追答
不好意思没看到有图片
你传中文有编码处理吗?现在服务器端口php打印出接收的json,看数据收到没
然后试着单独打印某个属性,确保数据格式是正确有效的
有颜色鸡尾酒
2014-10-08 · 超过43用户采纳过TA的回答
知道小有建树答主
回答量:80
采纳率:100%
帮助的人:62.1万
展开全部
$dingdan=(json_decode($dingdan_zhuanhuan, true));
改为 $dingdan=(array) json_decode($dingdan_zhuanhuan, true);

for循环里 $ARR 也强制转换下 (array)$ARR

遇到过和你一样的问题,我是这么解决的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式