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&java(三)
Oct 09 PHP
PHP排序算法的复习和总结
Feb 15 PHP
深入解析Session是否必须依赖Cookie
Aug 02 PHP
PHP简单实现断点续传下载的方法
Sep 25 PHP
ThinkPHP数据操作方法总结
Sep 28 PHP
PHP实现操作redis的封装类完整实例
Nov 14 PHP
PHP图形计数器程序显示网站用户浏览量
Jul 20 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
Jun 16 PHP
php curl优化下载微信头像的方法总结
Sep 07 PHP
浅谈php使用curl模拟多线程发送请求
Mar 08 PHP
tp5框架无刷新分页实现方法分析
Sep 26 PHP
解决laravel 表单提交-POST 异常的问题
Oct 15 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
zend framework配置操作数据库实例分析
2012/12/06 PHP
php跨域cookie共享使用方法
2014/02/20 PHP
PHP合并discuz用户脚本的方法
2015/08/04 PHP
yii2 数据库读写分离配置示例
2017/02/10 PHP
PHP抽象类基本用法示例
2018/12/28 PHP
PHP中十六进制颜色与RGB颜色值互转的方法
2019/03/18 PHP
JScript中的"this"关键字使用方式补充材料
2007/03/08 Javascript
获取元素距离浏览器周边的位置的方法getBoundingClientRect
2013/04/17 Javascript
js实现图片旋转的三种方法
2014/04/10 Javascript
javascript常用的方法分享
2015/07/01 Javascript
如何屏蔽防止别的网站嵌入框架代码
2015/08/24 Javascript
延时加载JavaScript代码提高速度
2015/12/27 Javascript
浅析JavaScript回调函数应用
2016/05/22 Javascript
JavaScript中获取时间的函数集
2016/08/16 Javascript
javascript设计模式之module(模块)模式
2016/08/19 Javascript
微信小程序开发之视频播放器 Video 弹幕 弹幕颜色自定义实例
2016/12/08 Javascript
vue父子组件的数据传递示例
2017/03/07 Javascript
JavaSctit 利用FileReader和滤镜上传图片预览功能
2017/09/05 Javascript
vue设计一个倒计时秒杀的组件详解
2019/04/06 Javascript
jQuery实现滑动星星评分效果(每日分享)
2019/11/13 jQuery
解决Echarts 显示隐藏后宽度高度变小的问题
2020/07/19 Javascript
vue项目打包为APP,静态资源正常显示,但API请求不到数据的操作
2020/09/12 Javascript
[02:31]2014DOTA2国际邀请赛2009专访:干爹表现出乎意料 看好DK杀回决赛
2014/07/20 DOTA
[01:31:03]DOTA2完美盛典全回顾 见证十五项大奖花落谁家
2017/11/28 DOTA
python计算文本文件行数的方法
2015/07/06 Python
Python+pandas计算数据相关系数的实例
2018/07/03 Python
Python线程下使用锁的技巧分享
2018/09/13 Python
python清除字符串前后空格函数的方法
2018/10/21 Python
Python 内置变量和函数的查看及说明介绍
2019/12/25 Python
TensorFlow命名空间和TensorBoard图节点实例
2020/01/23 Python
在TensorFlow中实现矩阵维度扩展
2020/05/22 Python
Reebonz中国官网:新加坡奢侈品购物网站
2017/03/17 全球购物
英国最大的邮寄种子和植物公司:Thompson & Morgan
2017/09/21 全球购物
List、Map、Set三个接口,存取元素时,各有什么特点?
2015/09/27 面试题
生产部管理制度
2014/01/31 职场文书
公司总经理工作职责管理办法
2014/02/28 职场文书