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 相关文章推荐
php 方便水印和缩略图的图形类
May 21 PHP
PHP获取163、gmail、126等邮箱联系人地址【已测试2009.10.10】
Oct 11 PHP
Wordpress 相册插件 NextGEN-Gallery 添加目录将中文转为拼音的解决办法
Dec 29 PHP
PHP运行时强制显示出错信息的代码
Apr 20 PHP
PHP mysql与mysqli事务使用说明 分享
Aug 17 PHP
将酷狗krc歌词解析并转换为lrc歌词php源码
Jun 20 PHP
JavaScript创建命名空间的5种写法
Jun 24 PHP
Laravel框架路由配置总结、设置技巧大全
Sep 03 PHP
php微信开发之带参数二维码的使用
Aug 03 PHP
php用户密码加密算法分析【Discuz加密算法】
Oct 12 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
Nov 14 PHP
PHP实现的多进程控制demo示例
Jul 22 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
PHP中获取内网用户MAC地址(WINDOWS/linux)的实现代码
2011/08/11 PHP
使用PHP遍历文件目录与清除目录中文件的实现详解
2013/06/24 PHP
PHP中file_get_contents高?用法实例
2014/09/24 PHP
prototype 的说明 js类
2006/09/07 Javascript
用javascript做拖动布局的思路
2008/05/31 Javascript
JavaScript中出现乱码的处理心得
2009/12/24 Javascript
使用IE6看老赵的博客 jQuery初探
2010/01/17 Javascript
js+JQuery返回顶部功能如何实现
2012/12/03 Javascript
js自动下载文件到本地的实现代码
2013/04/28 Javascript
Node.js中使用Buffer编码、解码二进制数据详解
2014/08/16 Javascript
JavaScript弹出新窗口并控制窗口移动到指定位置的方法
2015/04/06 Javascript
JS+DIV+CSS实现仿表单下拉列表效果
2015/08/18 Javascript
js判断主流浏览器类型和版本号的简单实现代码
2016/05/26 Javascript
第一次动手实现bootstrap table分页效果
2016/09/22 Javascript
利用Node.js对文件进行重命名
2017/03/12 Javascript
微信小程序实现城市列表选择
2018/06/05 Javascript
vue 利用路由守卫判断是否登录的方法
2018/09/29 Javascript
vue 项目地址去掉 #的方法
2018/10/20 Javascript
基于JavaScript canvas绘制贝塞尔曲线
2018/12/25 Javascript
页面内锚点定位及跳转方法总结(推荐)
2019/04/24 Javascript
详解auto-vue-file:一个自动创建vue组件的包
2019/04/26 Javascript
layui实现显示数据表格、搜索和修改功能示例
2020/06/03 Javascript
[05:03]显微镜下的DOTA2第十期——Ti3豪之超神幽鬼
2014/06/23 DOTA
玩转python爬虫之正则表达式
2016/02/17 Python
Python将列表数据写入文件(txt, csv,excel)
2019/04/03 Python
Python Pandas 转换unix时间戳方式
2019/12/07 Python
Keras之fit_generator与train_on_batch用法
2020/06/17 Python
python 生成正态分布数据,并绘图和解析
2020/12/21 Python
德国大型箱包和皮具商店:Koffer
2019/10/01 全球购物
初中生学习生活的自我评价
2013/11/20 职场文书
评析教师个人的自我评价
2014/02/19 职场文书
大龄毕业生求职别忘职业规划
2014/03/11 职场文书
2014年新生军训方案
2014/05/01 职场文书
趣味运动会赞词
2015/07/22 职场文书
JPA 通过Specification如何实现复杂查询
2021/11/23 Java/Android
Elasticsearch Recovery 详细介绍
2022/04/19 Java/Android