怎么这样的json解析不了? 这个数据是从后台程序返回的{"bool":"1","string":"\u6dfb\u52a0\u6210\u529f"}从结构上没有什么不妥,但是用json_deconde解析不了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <?php$json = '{"bool":"1","string":"\u6dfb\u52a0\u6210\u529f"}';$arr = json_decode($json,true);print_r($arr);//Array ( [bool] => 1 [string] => 添加成功 ) ; 用这种方式的确可以。我是用curl post的方式提交并获取返回值的$result=Sync::httppost($url,$postData);$resultArray=json_decode('$result',true);var_dump($result);var_dump($resultArray);结果为:string(51) "{"bool":"1","string":"\u6dfb\u52a0\u6210\u529f"}"NULL 纠正一下,上面写错了$result=Sync::httppost($url,$postData);$resultArray=json_decode($result,true);var_dump($result);var_dump($resultArray);结果为:string(51) "{"bool":"1","string":"\u6dfb\u52a0\u6210\u529f"}"NULL 应该是被转义了。$result=Sync::httppost($url,$postData);echo $result;exit(); 看下是什么。 {"bool":"1","string":"\u6dfb\u52a0\u6210\u529f"}的长度是 48而你 var_dump($result) 的结果是 51 多出的 3 个字节是什么呢?显然是 BOM 头 是dw检查了一遍,没发现包含bom $result=Sync::httppost($url,$postData);echo $result;exit();查看源文件贴上来啊 页面输出以下文字{"bool":"1","string":"\u6dfb\u52a0\u6210\u529f"} 复制你#2的{"bool":"1","string":"\u6dfb\u52a0\u6210\u529f"}到 textarea 变成{"bool":"1","string":"\u6dfb\u52a0\u6210\u529f"}你说前面多出的是什么? 这个json用的都是单引号括起来的,这个返回来的是双引号,弄起来还是比较麻烦的.你先把里面双引号转成单引号再转换吧. php关于动态表单的验证 高级PHP软件工程师 小猫继续寻找一位PHP师傅。找了那么久,竟然还没有找到!!!!!超郁闷!难道真的要贴PP才行??? 在Dreamweaver里面编写的中文字常常会变成乱码,为什么? 请推荐一个汉字和unicode互换工具,谢谢! PHP 中操作MYSQL 可读不可写是什么回事? 请教:一个从mysql数据库删除数据的问题? 关于PHP中的大小写问题? 关于客户端验证库中是否已经存在此记录的问题 请 phpinfo()同志 快来领分。 请教:php找不到模块(php配置问题) php定时执行问题
$json = '{"bool":"1","string":"\u6dfb\u52a0\u6210\u529f"}';
$arr = json_decode($json,true);
print_r($arr);
//Array ( [bool] => 1 [string] => 添加成功 ) ;
$result=Sync::httppost($url,$postData);
$resultArray=json_decode('$result',true);
var_dump($result);
var_dump($resultArray);
结果为:
string(51) "{"bool":"1","string":"\u6dfb\u52a0\u6210\u529f"}"
NULL
$result=Sync::httppost($url,$postData);
$resultArray=json_decode($result,true);
var_dump($result);
var_dump($resultArray);
结果为:
string(51) "{"bool":"1","string":"\u6dfb\u52a0\u6210\u529f"}"
NULL
$result=Sync::httppost($url,$postData);
echo $result;exit(); 看下是什么。
的长度是 48
而你 var_dump($result) 的结果是 51 多出的 3 个字节是什么呢?
显然是 BOM 头
$result=Sync::httppost($url,$postData);
echo $result;exit();查看源文件贴上来啊
{"bool":"1","string":"\u6dfb\u52a0\u6210\u529f"}
{"bool":"1","string":"\u6dfb\u52a0\u6210\u529f"}
到 textarea 变成
{"bool":"1","string":"\u6dfb\u52a0\u6210\u529f"}你说前面多出的是什么?
你先把里面双引号转成单引号再转换吧.