php 难题 ecshop 解析json出错
$_POST['goods']={"1472":{"number":"3","price":"109.00"},"1471":{"number":"3","price":...
$_POST['goods'] = {"1472":{"number":"3","price":"109.00"},"1471":{"number":"3","price":"170.00"}}
$_POST['goods'] = trim(stripslashes(json_str_iconv($_POST['goods'])));
include_once('../includes/cls_json.php');
$json = new JSON;
$goods = $json->decode($_POST['goods']);
报错<br />
<b>Catchable fatal error</b>: Object of class stdClass could not be converted to string in <b>D:\test\mall\includes\lib_base.php</b> on line <b>692</b><br />
ecshop是否没法解析二维json 展开
$_POST['goods'] = trim(stripslashes(json_str_iconv($_POST['goods'])));
include_once('../includes/cls_json.php');
$json = new JSON;
$goods = $json->decode($_POST['goods']);
报错<br />
<b>Catchable fatal error</b>: Object of class stdClass could not be converted to string in <b>D:\test\mall\includes\lib_base.php</b> on line <b>692</b><br />
ecshop是否没法解析二维json 展开
5个回答
展开全部
错误提示是说,无法将一个对象转换成字符串。
你看看692行是什么。
我看贴出的代码,初步分析是这样,
$_POST['goods']原来是一个对象,
那么出错应该就是
$_POST['goods'] = trim(stripslashes(json_str_iconv($_POST['goods'])));
这行,
json_str_iconv只是将传进的参数里的字符串转码,返回结果还是跟传进的参数同类型。
而stripslashes接收传进的参数只能是string类型。
你看看692行是什么。
我看贴出的代码,初步分析是这样,
$_POST['goods']原来是一个对象,
那么出错应该就是
$_POST['goods'] = trim(stripslashes(json_str_iconv($_POST['goods'])));
这行,
json_str_iconv只是将传进的参数里的字符串转码,返回结果还是跟传进的参数同类型。
而stripslashes接收传进的参数只能是string类型。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$_POST['goods'] = {"1472":{"number":"3","price":"109.00"},"1471":{"number":"3","price":"170.00"}}
这里要加引号,在php里面,json不是对象。只是一个字符串,所以要用引号括起来。
这里要加引号,在php里面,json不是对象。只是一个字符串,所以要用引号括起来。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以以看传到php端的json字符串是不是正确的,我以前遇到过传递过来的字符串中会多 “ \ ”这个符号,要把“ \ ” 去掉才行 。
可以在php端使用:
echo
$json_str;
来show出传递的json字符串,如果发现字符串中出现反斜杠就是要如下方法:
//去除反斜杠
f(ini_get("magic_quotes_gpc")=="1")
{
$json_str=stripslashes($json_str);
}
//php解析json字符串为对象
$json_obj
= json_decode($json_str);
//show出$json_obj数据
var_dump($json_obj);
可以在php端使用:
echo
$json_str;
来show出传递的json字符串,如果发现字符串中出现反斜杠就是要如下方法:
//去除反斜杠
f(ini_get("magic_quotes_gpc")=="1")
{
$json_str=stripslashes($json_str);
}
//php解析json字符串为对象
$json_obj
= json_decode($json_str);
//show出$json_obj数据
var_dump($json_obj);
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以直接使用php内置的jsonencode函数来解析数组生成json字符串呀
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以 转换为数组去解析啊!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询