【JSON的parse()方法介绍】教程文章相关的互联网学习教程文章

php5.2以下版本无json_decode函数的解决方法

今天写代码的时候,需要用到json_decode函数,发现php5.2以前的版本没有集成这个函数,不过我们可以通过自定义函数实现。代码如下:function json_decode2($json){$comment = false;$out = $x=;for ($i=0; $i<strlen($json); $i++){if (!$comment){if (($json[$i] == {) || ($json[$i] == [)) $out .= array(;else if (($json[$i] == }) || ($json[$i] == ])) $out .= );else if ($json[$i] == :) $out .= =>;else $out .= $json[$...

php中json_encode处理gbk与gb2312中文乱码问题的解决方法

本文讲述了php中json_encode处理gbk与gb2312中文乱码问题的解决方法,具体方法如下: 1.json_encode()中文在gbk/gb2312中对中文返回为null$arr = array ( array ( catid => 4, catname => www.gxlcms.com, meta_title => 脚本之家 ) );echo json_encode($arr); 运行结果: [{"catid":"4","catname":"www.gxlcms.com","meta_title":null}]看一了吗"meta_title":null 他本来是有一个值的为"脚本之家"了,这个我们查了一下原理是json_...

PHP针对常规模板引擎中与CSS/JSON冲突的解决方法

本文实例讲述了PHP针对常规模板引擎中与CSS/JSON冲突的解决方法,有一定的实用价值,具体分析如下: 本文主要针对对象为Smarty与Dwoo 在Smarty中经常会出现和CSS/JS的语法存在冲突的情况,因为二者都需要使用大括号{}。虽然可以改Smarty的界定符,但你在一个现存系统中,去修改所有相关代码,是不划算的。解决方法如下: 1. 避免同时出现 通过外部引用的方式避免。问题是避无所避。所以这种情况只适合少量简单的情况。 2. 修改Smar...

PHP JSON出错:Cannot use object of type stdClass as array解决方法

php再调用json_decode从字符串对象生成json对象时,如果使用[]操作符取数据,会得到下面的错误:代码如下: Cannot use object of type stdClass as array产生原因:代码如下: $res = json_decode($res); $res[key]; //把 json_decode() 后的对象当作数组使用。解决方法(2种): 1、使用 json_decode($d, true)。就是使json_decode 的第二个变量设置为 true。 2、json_decode($res) 返回的是一个对象, 不可以使用 $res[key] 进行访...

PHP中使用json数据格式定义字面量对象的方法

PHPer都知道PHP是不支持字面量了,至少目前版本都不支持。比如,在JS中可以这样定义object代码如下: var o = { name : qttc , url : www.gxlcms.com }; alert(o.name);Python中定义字典,也可以这样定义:代码如下: o = { name : qttc , url : www.gxlcms.com } print o[name]但在PHP中这么定义object:代码如下: $a = { "name" : "qttc", "url" : "www.gxlcms.com" };会报错:代码如下: [root@lee www]# php a.php PHP Parse er...

PHP处理Json字符串解码返回NULL的解决方法【图】

本文实例讲述了PHP处理Json字符串解码返回NULL的解决方法。分享给大家供大家参考之用。具体方法如下: 一般来说,php对json字符串解码使用json_decode()函数,第一个参数传字符串,第二个参数若为true,返回array;若为false,返回object。如果返回NULL,说明报错,输出json_last_error(),得到的整数值对应错误提示。如下图所示:json_last_error()比较常见的是整数4, 是json字符串在json_decode之前已不完整,所以语法错误。 那么一...

PHP处理JSON字符串key缺少双引号的解决方法

本文实例讲述了PHP处理JSON字符串key缺少引号的解决方法,分享给大家供大家参考之用。具体方法如下: 通常来说,JSON字符串是key:value形式的字符串,正常key是由双引号括起来的。 例如:<?php $data = array(name=>fdipzone); echo json_encode($data); // {"name":"fdipzone"} print_r(json_decode(json_encode($data), true)); //Array ( [name] => fdipzone ) ?> 但如果json字符串的key缺少双引括起来,则json_deco...

php中json_encode UTF-8中文乱码的更好解决方法

最近在接口代码当中用到过json_encode,在网上找到说json_encode编码设置为UTF-8中文就不会乱码,经验证这办法确实是有效果的,但是不知道为什么,代码在用过一段时间之后就不太管用了。以下是自己的解决json_encode的办法。有更好的方法请分享出来吧! 第一种: 这种简单的做一个代码转换,urlcode之后再返回所需数组 我代码这样就足够了。 代码如下 public static function encodeOperations ($array){foreach ((array)$array as...

PHP使用json_encode函数时不转义中文的解决方法

本文实例讲述了PHP使用json_encode函数时不转义中文的解决方法。分享给大家供大家参考。具体方法如下: json_encode函数对于gbk中的中文字符是不会转换的或直接转换成空格了,本文就来给各位整理一个关于json不转义中文问题处理技巧,相信对大家有所帮助。 如果你调用 PHP 自带的 json_encode() 函数, 碰到中文时, 中文会被转义掉. 例如:代码如下:echo json_encode(array(你好)); // 输出: ["\u4f60\u597d"] 这非常恼人, 像是一堆乱...

php5.4以下版本json不支持不转义内容中文的解决方法

本文实例讲述了php5.4以下版本json不支持不转义内容中文的解决方法。分享给大家供大家参考。具体分析如下: 写ERP接口的时候遇到JAVA方接收这种json_encode后的内容 代码如下:{"orderCode":"1401160935542399","creator":"\u751f\u6d3b\u7528\u54c1\u6d4b\u8bd5\u5c0f\u5c4b"} 其中"creator":"\u751f\u6d3b\u7528\u54c1\u6d4b\u8bd5\u5c0f\u5c4b"为中文,目前我们用的是UTF8的。但是JAVA方接收这种的时候自动把转义后的中文转回成...

php数组转成json格式的方法

本文实例讲述了php数组转成json格式的方法。分享给大家供大家参考。具体实现方法如下:代码如下:function array_to_json( $array ){ if( !is_array( $array ) ){ return false; } $associative = count( array_diff( array_keys($array), array_keys( array_keys( $array )) )); if( $associative ){ $construct = array(); foreach( $array as $key => $value ){ // We firs...

PHP JSON格式的中文显示问题解决方法

返回json数据中文显示的问题 上一篇文章中,返回json格式的中文显示成\u5723\u8bde\u8282\u5343\u4e07\u597d\u793c\u5927\u5949\u9001 解决方法一:代码如下: <?php function Notice(){ include ./include/conn.php; //数据库链接文件 $sql_notice = mysql_query(SELECT * FROM gg_notice where enable = "1" limit 0,10); $notice = mysql_fetch_array($sql_notice, MYSQL_ASSOC); $str = json_encode($notice)...

php中JSON的使用方法

从5.2版本开始,PHP原生提供json_encode()和json_decode()函数,前者用于编码,后者用于解码。 json_encode() 该函数主要用来将数组和对象,转换为json格式。代码如下: $arr = array (a=>a,b=>b,c=c,d=>d,e=e); echo json_encode($arr); 输出结果: json只接受utf-8编码的字符,json_encode()的参数必须是utf-8编码。class person { public $name; publ...

php实现数组中索引关联数据转换成json对象的方法

本文实例讲述了php实现数组中索引关联数据转换成json对象的方法。分享给大家供大家参考。具体实现方法如下: public static function encode(&$var) {return {.implode(,,self::encodeExcute($var)).}; } private static function encodeExcute(&$var) {$json = array();switch (gettype($var)){case array:foreach($var as $key=>$value){if(is_array($value)){$json[] = ".$key.":{.implode(,,self::encodeExcute($value)).};//$...

php实现json编码的方法

本文实例讲述了php实现json编码的方法。分享给大家供大家参考。具体如下: <?php /** json*/ $books = array(key1=>value1,key2=>value2,key3=>array(key4=>value4,key5=>value5)); $json = json_encode($books); $rejson = json_decode($json,true); echo 原数组:<br/>; print_r($books); echo <br/><br/>; echo 经json编码后:<br/>; print $json."<br/>"; echo <br/>; echo 经json解码后:<br/>; print_r($rejson); echo <br/>...