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 相关文章推荐
mysql4.1以上版本连接时出现Client does not support authentication protocol问题解决办法
Mar 15 PHP
用js进行url编码后用php反解以及用php实现js的escape功能函数总结
Feb 08 PHP
php UBB 解析实现代码
Nov 27 PHP
PHP中几个常用的魔术常量
Feb 23 PHP
php和javascript之间变量的传递实现代码
Dec 19 PHP
windows7下安装php的php-ssh2扩展教程
Jul 04 PHP
php判断类是否存在函数class_exists用法分析
Nov 14 PHP
ucenter通信原理分析
Jan 09 PHP
thinkPHP中create方法与令牌验证实例浅析
Dec 08 PHP
解决yii2左侧菜单子级无法高亮问题的方法
May 08 PHP
thinkphp5.0自定义验证规则使用方法
Nov 16 PHP
PHP四种排序算法实现及效率分析【冒泡排序,插入排序,选择排序和快速排序】
Apr 27 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
让你的WINDOWS同时支持MYSQL4,MYSQL4.1,MYSQL5X
2006/12/06 PHP
PHP 网页过期时间的控制代码
2009/06/29 PHP
PHP中$_SERVER的详细参数与说明介绍
2013/10/26 PHP
PHP中大于2038年时间戳的问题处理方案
2015/03/03 PHP
使用PHP反射机制来构造"CREATE TABLE"的sql语句
2019/03/21 PHP
ThinkPHP框架整合微信支付之刷卡模式图文详解
2019/04/10 PHP
PHP终止脚本运行三种实现方法详解
2020/09/01 PHP
javascript实现unicode和字符的互相转换
2007/07/18 Javascript
JavaScript中字符串(string)转json的2种方法
2015/06/25 Javascript
AngularJS 最常用的功能汇总
2016/02/17 Javascript
用JS动态改变表单form里的action值属性的两种方法
2016/05/25 Javascript
Windows环境下npm install 报错: operation not permitted, rename的解决方法
2016/09/26 Javascript
vue项目中做编辑功能传递数据时遇到问题的解决方法
2016/12/19 Javascript
详解nodejs微信公众号开发——4.自动回复各种消息
2017/04/11 NodeJs
JavaScript代码实现txt文件的上传预览功能
2018/03/27 Javascript
JavaScript实现一个简易的计算器实例代码
2018/05/10 Javascript
解决vue打包后vendor.js文件过大问题
2019/07/03 Javascript
基于JS实现父组件的请求服务过程解析
2019/10/14 Javascript
vue.js 实现a标签href里添加参数
2019/11/12 Javascript
js实现select下拉框选择
2020/01/11 Javascript
javascript事件循环event loop的简单模型解释与应用分析
2020/03/14 Javascript
ES2020 已定稿,真实场景案例分析
2020/05/25 Javascript
剖析Python的Twisted框架的核心特性
2016/05/25 Python
python类:class创建、数据方法属性及访问控制详解
2016/07/25 Python
Python实现学校管理系统
2018/01/11 Python
基于Python列表解析(列表推导式)
2018/06/23 Python
详解django自定义中间件处理
2018/11/21 Python
利用python在excel里面直接使用sql函数的方法
2019/02/08 Python
Spring Boot中使用IntelliJ IDEA插件EasyCode一键生成代码详细方法
2020/03/20 Python
Python关键字及可变参数*args,**kw原理解析
2020/04/04 Python
在vscode中启动conda虚拟环境的思路详解
2020/12/25 Python
腾讯技术类校园招聘笔试试题
2014/05/06 面试题
美容院店长岗位职责
2014/04/08 职场文书
社会发展项目建议书
2014/08/25 职场文书
自愿离婚协议书2015
2015/01/26 职场文书
2015年医德考评自我评价
2015/03/03 职场文书