php 关于json_decode函数的用法 <?php $JSON_text='{"a":"b","c":"用户一"}';$J=json_decode($JSON_text);print_r($J);?>这样写打印不出结果,是什么问题呢?该怎么改写呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果你的php环境配置正确,版本(PHP 5 >= 5.2.0, PECL json >= 1.2.0)将输出:stdClass Object ( [a] => b [c] => 用户一 ) 默认以对象形式返回如果:$J=json_decode($JSON_text,true);方法增加true时,将以数组形式返回Array ( [a] => b [c] => 用户一 ) 对于JS传入的串要经过JSON.stringify()序列化一下的 打印不出结果是正常的,因为你的程序文件不是 utf-8 编码的!php 提供的 json 函数只能处理 utf-8 编码的数据 http://cn.php.net/json_decode json 规定文件编码一定要utf-8,否则json_decode将返回NULL。下面的代码已测试, 在线测试见:http://phpfiddle.org/main/code/8h8-yt2, 按F9返回结果,重发代码:header("Content-type: text/html; charset=utf-8");$JSON_text='{"a":"b","c":"用户一"}';$charset = mb_detect_encoding($JSON_text, "auto");if (strcasecmp($charset,'UTF-8') != 0) { $JSON_text = mb_convert_encoding($JSON_text,'UTF-8',$charset);}$J=json_decode($JSON_text);print_r($J); 第二个参数要加true不然是对象~~ 求教:一个php-mysql扩展的问题 怎么将 记录集while循环出来后,按照自己的意愿 显示成 几行几列 ??? 新手求帮助~ preg_match_all提取信息 win2003下php跟数据库连接不成功? php 往xml添加节点问题!!!!!!!!! 加入单引号 新出炉的站,大家看看,散分! 请★userspring(辰)★进来领分 win2000下mail()函数为什么老师出错 请教如何从存储为date格式的字段中直接取出这个字段的月和日(mysql) 访问应用时的 path与location
将输出:
stdClass Object ( [a] => b [c] => 用户一 )
默认以对象形式返回如果:
$J=json_decode($JSON_text,true);
方法增加true时,将以数组形式返回
Array ( [a] => b [c] => 用户一 )
php 提供的 json 函数只能处理 utf-8 编码的数据
$JSON_text='{"a":"b","c":"用户一"}';
$charset = mb_detect_encoding($JSON_text, "auto");
if (strcasecmp($charset,'UTF-8') != 0) {
$JSON_text = mb_convert_encoding($JSON_text,'UTF-8',$charset);
}
$J=json_decode($JSON_text);
print_r($J);