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版(3)
Oct 09 PHP
php入门小知识
Mar 24 PHP
Discuz!下Memcache缓存实现方法
May 28 PHP
php实现12306余票查询、价格查询示例
Apr 17 PHP
php使用PDO方法详解
Dec 27 PHP
php以fastCGI的方式运行时文件系统权限问题及解决方法
May 11 PHP
PHP自定义函数获取汉字首字母的方法
Dec 01 PHP
PHP实现多级分类生成树的方法示例
Feb 07 PHP
thinkphp实现附件上传功能
May 26 PHP
Laravel中前端js上传图片到七牛云的示例代码
Sep 04 PHP
PHP实现简易计算器功能
Aug 28 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程序之die调试法 快速解决错误
2009/09/17 PHP
PHP整数取余返回负数的相关解决方法
2014/05/15 PHP
Windows下的PHP 5.3.x安装 Zend Guard Loader教程
2014/09/06 PHP
php微信开发之带参数二维码的使用
2016/08/03 PHP
strpos() 函数判断字符串中是否包含某字符串的方法
2019/01/16 PHP
Thinkphp5框架实现获取数据库数据到视图的方法
2019/08/14 PHP
用js+xml自动生成表格的东西
2006/12/21 Javascript
Prototype PeriodicalExecuter对象 学习
2009/07/19 Javascript
JavaScript 事件系统
2010/07/22 Javascript
幻灯片带网页设计中的20个奇妙应用示例小结
2012/05/27 Javascript
jQuery 更改checkbox的状态,无效的解决方法
2016/07/22 Javascript
jQuery使用Layer弹出层插件闪退问题
2016/12/22 Javascript
js/jq仿window文件夹移动/剪切/复制等操作代码
2017/03/08 Javascript
Javascript中this关键字指向问题的测试与详解
2017/08/11 Javascript
JS实现基于Sketch.js模拟成群游动的蝌蚪运动动画效果【附demo源码下载】
2017/08/18 Javascript
jQuery 1.9版本以上的浏览器判断方法代码分享
2017/08/28 jQuery
详解layui弹窗父子窗口之间传参数的方法
2018/01/16 Javascript
JavaScript 预解析的4种实现方法解析
2019/09/03 Javascript
JavaScript如何借用构造函数继承
2019/11/06 Javascript
vue实现PC端分辨率适配操作
2020/08/03 Javascript
在Python的Flask框架中实现全文搜索功能
2015/04/20 Python
Python实现的异步代理爬虫及代理池
2017/03/17 Python
python实现简单加密解密机制
2019/03/19 Python
Python 3.6 -win64环境安装PIL模块的教程
2019/06/20 Python
关于django 1.10 CSRF验证失败的解决方法
2019/08/31 Python
Python 识别12306图片验证码物品的实现示例
2020/01/20 Python
Django数据库操作之save与update的使用
2020/04/01 Python
Python使用configparser读取ini配置文件
2020/05/25 Python
python使用建议与技巧分享(二)
2020/08/17 Python
Html5内唤醒百度、高德APP的实现示例
2019/05/20 HTML / CSS
Stefania Mode美国:奢华设计师和时尚服装
2018/01/07 全球购物
美国CVS药店官网:CVS Pharmacy
2018/07/26 全球购物
String这个类型的class为何定义成final?
2012/11/13 面试题
生物制药自我鉴定
2014/01/25 职场文书
清扬洗发水广告词
2014/03/14 职场文书
本科毕业生求职信
2014/06/15 职场文书