JSON两种结构之对象和数组的理解


Posted in PHP onJuly 19, 2016

JSON简介

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。

Json是一种异常简单易懂的数据格式,关于json的规定,仅仅如下而已:

1) 并列的数据之间用逗号(", ")分隔。

2) 映射用冒号(": ")表示。

3) 并列数据的集合(数组)用方括号("[]")表示。

4) 映射的集合(对象)用大括号("{}")表示。

JSON有两种结构数组和对象:数组表示有序数据的集合,而对象表示无序数据的集合。

看下面例子:

$arr = array(111,'aaa','bbb');
$arr1 = array(
'a' => 'aaa',
'b' => 222
);
$arr2 = array(
'a' => 'aaa',
'other' => array(
'bbb',1111
)
);
echo json_encode($arr); //[111,"aaa","bbb"]
echo json_encode($arr1); //{"a":"aaa","b":222}
echo json_encode($arr2); //{"a":"aaa","other":["bbb",1111]}

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

关于PHP对json支持说明:

json_encode只支持UTF-8编码的数据;

json_decode永远只反映一个PHP对象,带上第二个参数true可返回数组:

$json = '{"a":"aaa","other":["bbb",1111]}';
print_r(json_decode($json));
print_r(json_decode($json, true));

以上所述是小编给大家介绍的JSON两种结构之对象和数组的理解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
javascript 小型动画组件与实现代码
Jun 02 PHP
php对图像的各种处理函数代码小结
Jul 08 PHP
异步加载技术实现当滚动条到最底部的瀑布流效果
Sep 16 PHP
微信公众号开发之微信公共平台消息回复类实例
Nov 14 PHP
Thinkphp中的curd应用实用要点
Jan 04 PHP
PHP+MySQL实现无极限分类栏目的方法
Dec 23 PHP
老生常谈PHP面向对象之命令模式(必看篇)
May 24 PHP
Laravel学习教程之路由模块
Aug 18 PHP
PHP实现图的邻接矩阵表示及几种简单遍历算法分析
Nov 24 PHP
PHP7基于curl实现的上传图片功能
May 11 PHP
PHP使用ajax的post方式下载excel文件简单示例
Aug 06 PHP
PHP实现的AES 128位加密算法示例
Sep 16 PHP
深入理解PHP JSON数组与对象
Jul 19 #PHP
php字符串比较函数用法小结(strcmp,strcasecmp,strnatcmp及strnatcasecmp)
Jul 18 #PHP
完美利用Yii2微信后台开发的系列总结
Jul 18 #PHP
PHP中set_include_path()函数相关用法分析
Jul 18 #PHP
PHP中spl_autoload_register()函数用法实例详解
Jul 18 #PHP
详谈PHP程序Laravel 5框架的优化技巧
Jul 18 #PHP
3种方法轻松处理php开发中emoji表情的问题
Jul 18 #PHP
You might like
ADODB的数据库封包程序库
2006/12/31 PHP
php 5.3.5安装memcache注意事项小结
2011/04/12 PHP
php程序的国际化实现方法(利用gettext)
2011/08/14 PHP
php中通过curl检测页面是否被百度收录
2013/09/27 PHP
jQuery Tab插件 用于在Tab中显示iframe,附源码和详细说明
2011/06/27 Javascript
javascript 事件处理程序介绍
2012/06/27 Javascript
jquery事件与函数的使用介绍
2013/09/29 Javascript
简单时间提示DEMO从0开始一直进行计时
2013/11/19 Javascript
js调用浏览器打印模块实现点击按钮触发自定义函数
2014/03/21 Javascript
js 左右悬浮对联广告特效代码
2014/12/12 Javascript
基于jQuery+PHP+Mysql实现在线拍照和在线浏览照片
2015/09/06 Javascript
avalon js实现仿google plus图片多张拖动排序附源码下载
2015/09/24 Javascript
JavaScript实现页面跳转的方式汇总
2016/05/16 Javascript
关于json字符串与实体之间的严格验证代码
2016/11/10 Javascript
在vue中安装使用vux的教程详解
2018/09/16 Javascript
Next.js实现react服务器端渲染的方法示例
2019/01/06 Javascript
layui给下拉框、按钮状态、时间赋初始值的方法
2019/09/10 Javascript
前端vue如何使用高德地图
2020/11/05 Javascript
[02:07]2018DOTA2亚洲邀请赛主赛事第三日五佳镜头 fy极限反杀
2018/04/06 DOTA
python3使用requests模块爬取页面内容的实战演练
2017/09/25 Python
python 并发编程 多路复用IO模型详解
2019/08/20 Python
python实现的登录与提交表单数据功能示例
2019/09/25 Python
VSCode中自动为Python文件添加头部注释
2019/11/14 Python
CSS3伪类选择器:nth-child()
2009/04/02 HTML / CSS
德国PC硬件网站:CASEKING
2016/10/20 全球购物
加拿大领先家居家具网上购物:Aosom.ca
2020/05/27 全球购物
房地产出纳岗位职责
2013/12/01 职场文书
公司财务总监岗位职责
2013/12/14 职场文书
村官工作鉴定评语
2014/01/27 职场文书
启动仪式策划方案
2014/06/14 职场文书
党员干部形式主义个人整改措施
2014/09/17 职场文书
全陪导游词
2015/02/04 职场文书
我爱我班主题班会
2015/08/13 职场文书
当你焦虑迷茫时,请读读这6句话
2019/07/24 职场文书
老生常谈 使用 CSS 实现三角形的技巧(多种方法)
2021/04/13 HTML / CSS
关于python类SortedList详解
2021/09/04 Python