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
展开
 我来答
darkcloud783
2013-07-26 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:77
采纳率:0%
帮助的人:77.3万
展开全部
错误提示是说,无法将一个对象转换成字符串。
你看看692行是什么。
我看贴出的代码,初步分析是这样,
$_POST['goods']原来是一个对象,
那么出错应该就是
$_POST['goods'] = trim(stripslashes(json_str_iconv($_POST['goods'])));
这行,
json_str_iconv只是将传进的参数里的字符串转码,返回结果还是跟传进的参数同类型。
而stripslashes接收传进的参数只能是string类型。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小明宅宅
2013-07-26
知道答主
回答量:7
采纳率:0%
帮助的人:5.3万
展开全部
$_POST['goods'] = {"1472":{"number":"3","price":"109.00"},"1471":{"number":"3","price":"170.00"}}

这里要加引号,在php里面,json不是对象。只是一个字符串,所以要用引号括起来。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
冬日十三度
推荐于2017-11-25 · TA获得超过144个赞
知道小有建树答主
回答量:180
采纳率:0%
帮助的人:118万
展开全部
你可以以看传到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);
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tangyjlovecc
2013-07-26 · TA获得超过458个赞
知道小有建树答主
回答量:839
采纳率:0%
帮助的人:391万
展开全部
可以直接使用php内置的jsonencode函数来解析数组生成json字符串呀
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yyg291906351
2013-07-26 · 超过73用户采纳过TA的回答
知道小有建树答主
回答量:392
采纳率:50%
帮助的人:114万
展开全部
可以 转换为数组去解析啊!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式