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 相关文章推荐
用函数读出数据表内容放入二维数组
Oct 09 PHP
PHP 实例化类的一点摘记
Mar 23 PHP
php ajax 静态分页过程形式
Sep 02 PHP
php数组函数序列之array_sum() - 计算数组元素值之和
Oct 29 PHP
PHP中return 和 exit 、break和contiue 区别与用法
Apr 09 PHP
用Zend Studio+PHPnow+Zend Debugger搭建PHP服务器调试环境步骤
Jan 19 PHP
php实现字符串反转输出的方法
Mar 14 PHP
一个完整的PHP类包含的七种语法说明
Jun 04 PHP
PHP基于单例模式实现的mysql类
Jan 09 PHP
PHP序列化/对象注入漏洞分析
Apr 18 PHP
php解决DOM乱码的方法示例代码
Nov 20 PHP
PHP 实现链式操作
Mar 09 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的in_array低性能问题
2013/09/17 PHP
CI框架装载器Loader.php源码分析
2014/11/04 PHP
PHP实现转盘抽奖算法分享
2020/04/15 PHP
浅析php如何实现爬取数据原理
2018/09/27 PHP
再谈Yii Framework框架中的事件event原理与应用
2020/04/07 PHP
通过JAVAScript实现页面自适应
2007/01/19 Javascript
JQuery的html(data)方法与<script>脚本块的解决方法
2010/03/09 Javascript
JS解决url传值出现中文乱码的另类办法
2013/04/08 Javascript
javascript中encodeURI和decodeURI方法使用介绍
2013/05/06 Javascript
jquery图片不完全按比例自动缩小的简单代码
2013/07/29 Javascript
jquery Tab效果和动态加载的简单实例
2013/12/11 Javascript
windows下安装nodejs及框架express
2015/08/07 NodeJs
举例讲解jQuery中可见性过滤选择器的使用
2016/04/18 Javascript
基于bootstrap插件实现autocomplete自动完成表单
2016/05/07 Javascript
JS排序算法之冒泡排序,选择排序与插入排序实例分析
2017/12/13 Javascript
微信小程序url传参写变量的方法
2018/08/09 Javascript
如何在Vue.JS中使用图标组件
2020/08/04 Javascript
python获取远程图片大小和尺寸的方法
2015/03/26 Python
Python中的单继承与多继承实例分析
2018/05/10 Python
python 随机森林算法及其优化详解
2019/07/11 Python
python多环境切换及pyenv使用过程详解
2019/09/27 Python
python 解决flask uwsgi 获取不到全局变量的问题
2019/12/22 Python
django实现HttpResponse返回json数据为中文
2020/03/27 Python
Tensorflow加载Vgg预训练模型操作
2020/05/26 Python
浅谈Keras的Sequential与PyTorch的Sequential的区别
2020/06/17 Python
Prometheus开发中间件Exporter过程详解
2020/11/30 Python
详解html5 canvas常用api总结(二)--绘图API
2016/12/14 HTML / CSS
中国领先的专业家电网购平台:国美在线
2016/12/25 全球购物
opencv实现图像平移效果
2021/03/24 Python
学生处主任岗位职责
2013/12/01 职场文书
物联网工程专业推荐信
2014/09/08 职场文书
2014年财政局工作总结
2014/12/09 职场文书
2015暑期社会实践调查报告
2015/07/14 职场文书
2016新年晚会开场白
2015/12/03 职场文书
elasticSearch-api的具体操作步骤讲解
2021/06/28 Java/Android
MySQL约束超详解
2021/09/04 MySQL