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+MYSQL 出现乱码的解决方法
Aug 08 PHP
PHP设计模式之责任链模式的深入解析
Jun 13 PHP
php foreach正序倒序输出示例代码
Jul 01 PHP
PHP中require和include路径问题详解
Dec 25 PHP
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
Mar 25 PHP
php准确获取文件MIME类型的方法
Jun 17 PHP
PHPstorm快捷键(分享)
Jul 17 PHP
php注册系统和使用Xajax即时验证用户名是否被占用
Aug 31 PHP
thinkphp5 加载静态资源路径与常量的方法
Dec 24 PHP
PHP中strtr与str_replace函数运行性能简单测试示例
Jun 22 PHP
PHP+Redis链表解决高并发下商品超卖问题(实现原理及步骤)
Aug 03 PHP
PHP中isset、empty的用法与区别示例详解
Nov 05 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命令行(cli)下执行PHP脚本文件的相对路径的问题解决方法
2015/05/25 PHP
浅谈Yii乐观锁的使用及原理
2017/07/25 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
2020/02/21 PHP
javascript 文档的编码问题解决
2009/03/01 Javascript
utf-8编码引起js输出中文乱码的解决办法
2010/06/23 Javascript
用Javascript评估用户输入密码的强度实现代码
2011/11/30 Javascript
jquery异步跨域访问代码
2013/06/28 Javascript
javascript内存管理详细解析
2013/11/11 Javascript
JavaScript检查弹出窗口是否被阻拦的方法技巧
2015/03/13 Javascript
浅谈JavaScript超时调用和间歇调用
2015/08/30 Javascript
javascript日期格式化方法汇总
2015/10/04 Javascript
JQuery用户名校验的具体实现
2016/03/18 Javascript
Javascript的动态增加类的实现方法
2016/10/20 Javascript
详解React中的组件通信问题
2017/07/31 Javascript
Dropify.js图片宽高自适应的方法
2017/11/27 Javascript
vue中路由参数传递可能会遇到的坑
2017/12/07 Javascript
Three.js实现简单3D房间布局
2018/12/30 Javascript
vue-cli3使用 DllPlugin 实现预编译提升构建速度
2019/04/24 Javascript
[38:32]DOTA2上海特级锦标赛A组资格赛#2 Secret VS EHOME第二局
2016/02/26 DOTA
Python getopt模块处理命令行选项实例
2014/05/13 Python
Python中的exec、eval使用实例
2014/09/23 Python
python实现简单聊天室功能 可以私聊
2019/07/12 Python
使用python获取邮箱邮件的设置方法
2019/09/20 Python
基于python中__add__函数的用法
2019/11/25 Python
纯CSS3实现表单验证效果(非常不错)
2017/01/18 HTML / CSS
css3 按钮样式简单可扩展创建
2013/03/18 HTML / CSS
HTML5 LocalStorage 本地存储详细概括(多图)
2017/08/18 HTML / CSS
加拿大高尔夫超市:Golf Town
2018/01/12 全球购物
Homestay中文官网:全球寄宿家庭
2018/10/18 全球购物
实习单位接收函
2014/01/11 职场文书
商务英语专业毕业生求职信
2014/07/06 职场文书
门店店长岗位职责
2015/04/14 职场文书
公司地址变更通知
2015/04/25 职场文书
党员承诺书范文2015
2015/04/27 职场文书
初中毕业生感言
2015/07/31 职场文书
《我的伯父鲁迅先生》教学反思
2016/02/16 职场文书