php中json

来源:脚本之家  责任编辑:小易  

php内置json编码和解析函数$response=file_get_contents('

1.json_decode()

php如何输出中文json格式字符串如何对json格式的字符串进行转换,php提供了两个函数:

json_decode

示例代码如下:<?phpheader("Content-type: text/h

(PHP 5 >= 5.2.0, PECL json >= 1.2.0)

先把获取的内容打印出来 ,看看是不是正常返回的数据$filename = "http:/

json_decode — 对 JSON 格式的字符串进行编码

发现PHP要求JSON格式正确,比Javascript都严格。"开关\/按钮"

说明

mixed json_decode ( string $json [, bool $assoc ] )

如果生理性口臭只在早上起床时和餐后2-3小时达到最高潮,决非病态无需担心。尤其空腹时,口中自净作用自然衰退,当然就会发出生理性口臭了。但如果清洁口腔卫生后口臭依旧,则要引起警惕了,往往是胃肠疾病的征兆!方法/步骤 医学研究发现,由胃肠道疾病(胃酸、便秘、胃炎等),引起的口臭患者越来越多,这类口臭需治疗原发病,才能从根本上彻底消除口臭。摆脱胃肠疾病引起的口臭病,并非十分艰难,只需接受专业措施去除即可。口苦的病因很多,肝失疏泄最为常见,多与情志、情绪、情结等方面有关,对于口苦的去除措施多采用中医调理为主的方法。

接受一个 JSON 格式的字符串并且把它转换为 PHP 变量

其实不是刀郎与那英有矛盾,以刀郎的性格,是不会主动跟人结怨的。是那英不止一次公开贬低刀郎和农民,并且坚决抵制刀郎。2010年的“音乐风云榜十年盛典”颁奖典礼上,评选“十年影响力歌手”时,作为评委会主席的那英,极力反对刀郎入选。理由是刀郎的作品没有审美感,缺乏音乐性,除了销量好以外,其他任何一点都不行,所以刀郎没有资格入选。而且那英还说,她作为评委会主席,坚决反对刀郎入选,喜欢刀郎歌曲的人全都是农民。最终的评选结果出来以后,第一名的位置是空着的,刀郎没有入选。宁愿空着也不把奖颁给刀郎,那英与刀郎这是有多大的仇恨啊,很多人都说那英是嫉妒。时隔多年以后,再一次提起此事,刀郎说奖是什么他根本没有想过,

参数

json

在家不化妆,在外面化妆,都是为了开心,这应该是大多数女性的习惯,当然也有少数的追求自然美的,在哪里都是素面朝天,一脸纯洁;或是追求完美到极致的,每天一睁眼就要美出新高度。那就大多数女孩来说,家是最放松的地方,家里也都是最亲密的人,你哪个鬼样子他们没见过?但是从来不用担心他们不喜欢或是讨厌自己,所以在家自己最舒服的状态就是开心的,说白了就是……懒着最开心。公众场合,这是个看脸的社会,化好妆穿好看的衣服,你就可能赢得更多来自陌生人的好感和宽容,自己看着自己漂亮,也自信许多,就可能为自己创造一个相对轻松顺利的社会环境,怎么会不开心?并不像有的人说女生就是虚伪,就是为了给男生看,在这男多女少的时代,我

待解码的 json string 格式的字符串。

铝扣板实际上现在同质化现象很严重,看吊顶,其实还是要看隐蔽工程的龙骨和电器到底怎么选择吊顶呢?不要看扣板,扣板同质化都很严重,都质保10年,都用不烂,你没看到扣板烂过,即使烂了,换起来也很方便。那些一天说要X铝什么的,走偏了。最先要看的就是龙骨,就是看不到的。外面一般都摆扣板给大家看,而大家都忽视了隐蔽的东西,这个也是要钱的啊。因为龙骨承受整个吊顶的重量,这个东西一定要看好,必须用金属的主龙骨,副龙骨,因为吊顶在厨卫这种比较潮湿的地方使用,防腐和厚度也要做足。多看几家龙骨你就知道好坏了,你不懂都看的出来。多花点时间研究这个比研究扣板管用选电器市场上销量比较大的的灯暖就是奥普,风暖就是松下,这个

assoc

当该参数为 TRUE 时,将返回 array 而非 object 。

返回值

Returns an object or if the optional assoc parameter is TRUE, an associative array is instead returned.

范例

Example #1 json_decode() 的例子

复制代码 代码如下:

<?php

$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';

var_dump(json_decode($json));

var_dump(json_decode($json, true));

?>

上例将输出:

复制代码 代码如下:

object(stdClass)#1 (5) {

["a"] => int(1)

["b"] => int(2)

["c"] => int(3)

["d"] => int(4)

["e"] => int(5)

}

array(5) {

["a"] => int(1)

["b"] => int(2)

["c"] => int(3)

["d"] => int(4)

["e"] => int(5)

}

复制代码 代码如下:

$data='[{"Name":"a1","Number":"123","Contno":"000","QQNo":""},{"Name":"a1","Number":"123","Contno":"000","QQNo":""},{"Name":"a1","Number":"123","Contno":"000","QQNo":""}]';

echo json_decode($data);

结果为:

复制代码 代码如下:

Array ( [0] => stdClass Object ( [Name] => a1 [Number] => 123 [Contno] => 000 [QQNo] => ) [1] => stdClass Object ( [Name] => a1 [Number] => 123 [Contno] => 000 [QQNo] => ) [2] => stdClass Object ( [Name] => a1 [Number] => 123 [Contno] => 000 [QQNo] => ) )

可以看出经过json_decode()编译出来的是对象,现在输出json_decode($data,true)试下

复制代码 代码如下:

echo json_decode($data,true);

结果:

复制代码 代码如下:

Array ( [0] => Array ( [Name] => a1 [Number] => 123 [Contno] => 000 [QQNo] => ) [1] => Array ( [Name] => a1 [Number] => 123 [Contno] => 000 [QQNo] => ) [2] => Array ( [Name] => a1 [Number] => 123 [Contno] => 000 [QQNo] => ) )

可以看出 json_decode($data,true)输出的一个关联数组,由此可知json_decode($data)输出的是对象,而json_decode("$arr",true)是把它强制生成PHP关联数组.

2.json_encode()

json_encode

(PHP 5 >= 5.2.0, PECL json >= 1.2.0)

先把获取的内容打印出来 ,看看是不是正常返回的数据$filename = "http:/

json_encode — 对变量进行 JSON 编码

Report a bug 说明

string json_encode ( mixed $value [, int $options = 0 ] )

返回 value 值的 JSON 形式

Report a bug 参数

value

待编码的 value ,除了resource 类型之外,可以为任何数据类型

该函数只能接受 UTF-8 编码的数据

options

由以下常量组成的二进制掩码: JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT, JSON_UNESCAPED_UNICODE.

Report a bug 返回值

编码成功则返回一个以 JSON 形式表示的 string 或者在失败时返回 FALSE 。

Report a bug 更新日志

版本 说明

5.4.0 options 参数增加常量: JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, 和 JSON_UNESCAPED_UNICODE。

5.3.3 options 参数增加常量:JSON_NUMERIC_CHECK。

5.3.0 增加 options 参数.

Report a bug 范例

Example #1 A json_encode() 的例子

复制代码 代码如下:

<?php

$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);

echo json_encode($arr);

?>

以上例程会输出:

复制代码 代码如下:

{"a":1,"b":2,"c":3,"d":4,"e":5}

Example #2 json_encode() 函数中 options 参数的用法

复制代码 代码如下:

<?php

$a = array('<foo>',"'bar'",'"baz"','&blong&', "\xc3\xa9");

echo "Normal: ", json_encode($a), "\n";

echo "Tags: ", json_encode($a, JSON_HEX_TAG), "\n";

echo "Apos: ", json_encode($a, JSON_HEX_APOS), "\n";

echo "Quot: ", json_encode($a, JSON_HEX_QUOT), "\n";

echo "Amp: ", json_encode($a, JSON_HEX_AMP), "\n";

echo "Unicode: ", json_encode($a, JSON_UNESCAPED_UNICODE), "\n";

echo "All: ", json_encode($a, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP | JSON_UNESCAPED_UNICODE), "\n\n";

$b = array();

echo "Empty array output as array: ", json_encode($b), "\n";

echo "Empty array output as object: ", json_encode($b, JSON_FORCE_OBJECT), "\n\n";

$c = array(array(1,2,3));

echo "Non-associative array output as array: ", json_encode($c), "\n";

echo "Non-associative array output as object: ", json_encode($c, JSON_FORCE_OBJECT), "\n\n";

$d = array('foo' => 'bar', 'baz' => 'long');

echo "Associative array always output as object: ", json_encode($d), "\n";

echo "Associative array always output as object: ", json_encode($d, JSON_FORCE_OBJECT), "\n\n";

?>

以上例程会输出:

复制代码 代码如下:

Normal: ["<foo>","'bar'","\"baz\"","&blong&","\u00e9"]

Tags: ["\u003Cfoo\u003E","'bar'","\"baz\"","&blong&","\u00e9"]

Apos: ["<foo>","\u0027bar\u0027","\"baz\"","&blong&","\u00e9"]

Quot: ["<foo>","'bar'","\u0022baz\u0022","&blong&","\u00e9"]

Amp: ["<foo>","'bar'","\"baz\"","\u0026blong\u0026","\u00e9"]

Unicode: ["<foo>","'bar'","\"baz\"","&blong&","é"]

All: ["\u003Cfoo\u003E","\u0027bar\u0027","\u0022baz\u0022","\u0026blong\u0026","é"]

Empty array output as array: []

Empty array output as object: {}

Non-associative array output as array: [[1,2,3]]

Non-associative array output as object: {"0":{"0":1,"1":2,"2":3}}

Associative array always output as object: {"foo":"bar","baz":"long"}

Associative array always output as object: {"foo":"bar","baz":"long"}

Example #3 连续与非连续数组示例

复制代码 代码如下:

<?php

echo "连续数组".PHP_EOL;

$sequential = array("foo", "bar", "baz", "blong");

var_dump(

$sequential,

json_encode($sequential)

);

echo PHP_EOL."非连续数组".PHP_EOL;

$nonsequential = array(1=>"foo", 2=>"bar", 3=>"baz", 4=>"blong");

var_dump(

$nonsequential,

json_encode($nonsequential)

);

echo PHP_EOL."删除一个连续数组值的方式产生的非连续数组".PHP_EOL;

unset($sequential[1]);

var_dump(

$sequential,

json_encode($sequential)

);

?>

以上例程会输出:

复制代码 代码如下:

连续数组

array(4) {

[0]=>

string(3) "foo"

[1]=>

string(3) "bar"

[2]=>

string(3) "baz"

[3]=>

string(5) "blong"

}

string(27) "["foo","bar","baz","blong"]"

非连续数组

array(4) {

[1]=>

string(3) "foo"

[2]=>

string(3) "bar"

[3]=>

string(3) "baz"

[4]=>

string(5) "blong"

}

string(43) "{"1":"foo","2":"bar","3":"baz","4":"blong"}"

删除一个连续数组值的方式产生的非连续数组

array(3) {

[0]=>

string(3) "foo"

[2]=>

string(3) "baz"

[3]=>

string(5) "blong"

}

string(33) "{"0":"foo","2":"baz","3":"blong"}"

复制代码 代码如下:

$obj->Name= 'a1';$obj->Number ='123';

$obj->Contno= '000';

echo json_encode($obj);

结果为:

复制代码 代码如下:

{"Name":"a1",

"Number":"123",

"Contno":"000"

}

可以看出json_encode()和json_decode()是编译和反编译过程,注意json只接受utf-8编码的字符,所以json_encode()的参数必须是utf-8编码,否则会得到空字符或者null。

PS:本站还提供了几款功能十分强大的json解析、转换与格式化工具供大家选择使用,相信对于大家接下来的json格式数据处理会有所帮助:

在线JSON代码检验、检验、美化、格式化工具:

http://tools.jb51.net/code/json

在线XML/JSON互相转换:

http://tools.jb51.net/code/xmljson

json代码在线格式化/美化/压缩/编辑/转换工具:

http://tools.jb51.net/code/jsoncodeformat

C语言风格/HTML/CSS/json代码格式化美化工具:

http://tools.jb51.net/code/ccode_html_css_json

扩展阅读,根据您访问的内容系统为您准备了以下内容,希望对您有帮助。

php中怎么把json字符串[]变为{}

json_encode($data,JSON_FORCE_OBJECT);

第二个参数设置定义空数组的时候,把空数组当成对象还是数组的方式

如果符合你的要求的话请采纳一下

php如何读取json的内容

如果json是以对象的方式存储于变量$json中,则这样引用: $json->openid

如果json是以关联数组的方式存储于变量$json中,则这样引用: $json['openid']

如果json是以字符串的方式存储于变量$json中,则需要先转换一下:

$a = json_decode($json);

print_r($a->openid);

或者$a = json_decode($json,true);

print_r($a['openid']);更多追问追答追答foreach($access_token_array['data']['openid'] as $value){

    echo $value;

}追问

现在是这样,就是卡在取openid的数值,foreach结构不是很会用,遍历不出来

可以了,非常感谢!!

php如何解析这种JSON

目前,JSON已经成为最流行的数据交换格式之一,各大网站的API几乎都支持它。

从5.2版本开始,PHP原生提供json_encode()和json_decode()函数,前者用于编码,后者用于解码。

一、json_encode()

该函数主要用来将数组和对象,转换为json格式。先看一个数组转换的例子:

  $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);

  echo json_encode($arr);

结果为

{"a":1,"b":2,"c":3,"d":4,"e":5}

由于json只接受utf-8编码的字符,所以json_encode()的参数必须是utf-8编码,否则会得到空字符或者null。当中文使用GB2312编码,或者外文使用ISO-8859-1编码的时候,这一点要特别注意。

二、索引数组和关联数组

PHP支持两种数组,一种是只保存"值"(value)的索引数组(indexed array),另一种是保存"名值对"(name/value)的关联数组(associative array)。

由于javascript不支持关联数组,所以json_encode()只将索引数组(indexed array)转为数组格式,而将关联数组(associative array)转为对象格式。

比如,现在有一个索引数组

  $arr = Array('one', 'two', 'three');

  echo json_encode($arr);

结果为:

["one","two","three"]

三、类(class)的转换

下面是一个PHP的类:   class Foo {     const ERROR_CODE = '404';     public $public_ex = 'this is public';     private $private_ex = 'this is private!';     protected $protected_ex = 'this should be protected';     public function getErrorCode() {       return self::ERROR_CODE;     }   }

现在,对这个类的实例进行json转换:

  $foo = new Foo;

  $foo_json = json_encode($foo);

  echo $foo_json;

输出结果是

{"public_ex":"this is public"}

可以看到,除了公开变量(public),其他东西(常量、私有变量、方法等等)都遗失了。

PHP循环读取JSON

首先你要把JSON数据转成数组,因为在php中JSON就是一个字符串。

$jsonData = '{"list": [{

    "goodsid": 4290,

    "post": [{

        "param": "uin",

        "name": "账号"

        }, {

        "param": "goodsid",

        "name": "商品ID"

        }, {

        "param": "number",

        "name": "下单数量"

    }]

    }, ';

// 你的JSON数据有点乱,我复制的可能不对

$aryData = json_decode($jsonData, true);   // 转码为数组

var_dump($aryData);  // 打印

foreach ($aryData as $item) {

    var_dump($item);   // 打印每个条目

}追问数组其实有了我主要想把 list和post后面的值遍历循环出来。。。

php如何返回json对象呢

返回json用的json_encode()方法没错,但是需要在头部声明格式。

代码解析

php返回需要用json_encode()方法来将需要转换的字符串转换成json编码格式(注意:仅仅更换文件内容,而返回的文件依然为文本格式且编码为gtk)

所以,这里需要在php头部声明

header('Content-Type:text/json;charset=utf-8');

拓展内容

json

JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

json通常被作为配置文件,常见还有.ini

0

  • 本文相关:
  • php中unset,array_splice删除数组中元素的区别
  • php中isset()和unset()函数的用法小结
  • php使用unset()删除数组中某个单元(键)的方法
  • php中使用unset销毁变量并内存释放问题
  • php中删除变量时unset()和null的区别分析
  • 浅析php中json_encode()和json_decode()
  • php中json_encode utf-8中文乱码的更好解决方法
  • php json_encode与json_decode详解及实例
  • php中json_encode中文编码问题分析
  • 关于php unset对json_encode的影响详解
  • php 伪造本地文件包含漏洞的代码
  • php实现简单洗牌算法
  • 一个php的qrcode类与大家分享
  • 比较时间段一与时间段二是否有交集的php函数
  • php+mysql分页代码详解
  • 一些使用频率比较高的php函数
  • js和php邮箱地址验证的实现方法
  • 详解:——如何将图片储存在数据库里
  • php实现负载均衡session共享redis缓存操作示例
  • php之生成gif动画的实现方法
  • php中怎么把json字符串[]变为{}
  • php如何读取json的内容
  • php如何解析这种JSON
  • PHP循环读取JSON
  • php如何返回json对象呢
  • PHP 如何读取如下的JSON数据?
  • php如何输出中文json格式字符串
  • php 读取 json 里面的字段内容
  • php提取json数组里面的值怎么提?
  • json PHP 解析,如何用PHP解析这种json?
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved