php中json_decode返回数组或对象的实例
1.json_decode()
json_decode
(PHP 5 >= 5.2.0, PECL json >= 1.2.0)
json_decode — 对 JSON 格式的字符串进行编码
说明
mixed json_decode ( string $json [, bool $assoc ] )
接受一个 JSON 格式的字符串并且把它转换为 PHP 变量
参数
json
待解码的 json string 格式的字符串。
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)
}http://www.111cn.net/phper/php-cy/57800.htm
$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关联数组.
假如我们获取的JSON数据如下:(可以使用curl、fsockopen等方式获取)
代码如下 复制代码
{
"from":"zh",
"to":"en",
"trans_result":[
{
"src":"u4f60u597d",
"dst":"Hello"
}
]
}
一、json_decode返回array的方式:
json_decode($data,true);用json_decode函数返回array的方式得到:
代码如下 复制代码
Array
(
[from] => zh
[to] => en
[trans_result] => Array
(
[0] => Array
(
[src] => 你好
[dst] => Hello
)
)
)
我们在PHP语言中可以用以下方法取得我们想要的值:
代码如下 复制代码
<?php
$data = <<<STR
{
"from":"zh",
"to":"en",
"trans_result":[
{
"src":"u4f60u597d",
"dst":"Hello"
}
]
}
STR;
$jsondata=json_decode($data,true);
header("Content-Type: text/html; charset=UTF-8");
print_r($jsondata);www.111cn.net
echo "<br />".$jsondata['to']; //en
echo "<br />".$jsondata['trans_result'][0]['dst']; //Hello
?>
二、json_decode返回object的方式:
json_decode($data);
用json_decode函数返回object的方式得到:
代码如下 复制代码
stdClass Object
(
[from] => zh
[to] => en
[trans_result] => Array
(
[0] => stdClass Object
(
[src] => 你好
[dst] => Hello
)
)
)
我们在PHP语言中可以用以下方法取得我们想要的值:
代码如下 复制代码
<?php
$data = <<<STR
{
"from":"zh",
"to":"en",
"trans_result":[
{
"src":"u4f60u597d",
"dst":"Hello"
}
]
}
STR;
$jsondata=json_decode($data);
header("Content-Type: text/html; charset=UTF-8");
print_r($jsondata);
echo "<br />".$jsondata->from; //zh
echo "<br />".$jsondata->trans_result[0]->src; //你好
?>
更多详细内容请查看:http://www.111cn.net/phper/php-cy/57800.htm
转载于:https://www.cnblogs.com/alibai/p/3547485.html
php中json_decode返回数组或对象的实例相关推荐
- php 数组 json_decode,php中json_decode返回数组或对象_PHP教程
1.json_decode() json_decode (PHP 5 >= 5.2.0, PECL json >= 1.2.0) json_decode - 对 JSON 格式的字符串进行 ...
- php中json_decode返回数组或对象
转自:http://www.3lian.com/edu/2014/02-11/128395.html 1.json_decode() json_decode (PHP 5 >= 5.2.0, P ...
- matlab二重指针,VC++中函数返回数组指针或者带指针的结构体的编译方式是否可取? - 程序语言 - 小木虫 - 学术 科研 互动社区...
libralibra 构造函数+析构函数应该是比较正规的做法吧, 你的结构体/类被提早释放的问题,是不是那个结构体是局部变量,当超出作用域时对象被销毁,如果存在析构函数,会被默认调用, 如果你返回结构 ...
- asp自定义函数可以返回数组或者对象
asp自定义函数可以返回数组或者对象 例子: function GetAuditorInfoBySeqNo(filenostr,strSeqNo) Dim auditorInfo(3) sql ...
- android json字符串转成json对象_在PHP中处理JSON数组以及对象
php中文网最新课程 每日17点准时技术干货分享 在 PHP 中处理 JSON 数组以及对象 与客户端混淆的常见原因是围绕 JSON 数组和对象,以及如何在 PHP 中指定他们.特别是,问题是由空对象 ...
- php 返回一个json对象,PHP给前端返回一个JSON对象的实例讲解
解决问题:用php做后台时,如何给前端发起的AJAX请求返回一个JSON格式的"对象": 说明:我本身是一个前端,工作久了之后发现要是不掌握一门后端开发语言的话,总感觉有点无力.最 ...
- javascript中对一个对象数组按照对象某个属性进行排序
在javascript中,对象和数组是两种不同的类型,这和php中的数组概念不同.在javascript中,也有一些精妙的算法,用来对一些对象进行排序.我在面试迅雷的时候,也拿到一道题,当时做题的时候 ...
- C++中函数返回数组指针的几种方法总结
因为数组不能被拷贝,所以函数不能返回数组.不过,函数可以返回数组的指针或引用.返回数组指针的方法有以下几种: 1.方法一:使用类型别名.如下 typedef int arrt[ ...
- php中return返回数组,PHP中return返回数组的一点用法
本文就学习中遇到的PHP函数return返回值的问题,这一点return用法进行了说明. 在函数的内部用return返回一个值或者为空来结束函数的运行.但是在return一个数组的时候,也可以在函数的 ...
最新文章
- Apache2.4.x下proxy_module、proxy_fcgi_module结合PHP-FPM解决内存不足问题
- AT5198 01 Matrix(构造)
- sencha touch tabsidebar 源码扩展
- 阿德莱德计算机专业排名,阿德莱德大学专业排名第几?2019年榜单揭晓!
- VC++,掀起你的盖头来
- java将030A转换为方块_JAVA试题
- MyBatis-Plus_通用service
- php+页面加载进度,基于jQuery实现模拟页面加载进度条_jquery
- MongoDB服务无法注册
- java开发和测试的不同_一些基础的面试的java知识,普及下。开发和测试都用得到。...
- android的GCM研究
- ArcgisPro3.0-3.0.1中文安装包下载及安装教程
- ELF格式文件符号表全解析及readelf命令使用方法
- mysql的启动脚本编写_老鸟带你开发专业规范的MySQL启动脚本
- 从入门到放弃C语言-入门篇(1)
- 境外诈骗,最新来自senegal的邮件诈骗
- SCZ的3篇有关sam的文章
- rⅰd的意思_自动挡车型上的P、R、N、D、S、L是什么意思?你懂吗?
- python symbols函数_Python应用 | 求解微积分!
- 跨专业计算机 调剂,考研调剂可以跨专业调剂吗