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 相关文章推荐
vBulletin HACK----关于排版的两个HACK
Oct 09 PHP
一个MYSQL操作类
Nov 16 PHP
php 图片上添加透明度渐变的效果
Jun 29 PHP
php debug 安装技巧
Apr 30 PHP
PHP ? EasyUI DataGrid 资料存的方式介绍
Nov 07 PHP
php实现mysql封装类示例
May 07 PHP
Yii把CGridView文本框换成下拉框的方法
Dec 03 PHP
提高php编程效率技巧
Aug 13 PHP
PHP内存使用情况如何获取
Oct 10 PHP
PHP正则表达式过滤html标签属性(DEMO)
May 04 PHP
php+mysql查询实现无限下级分类树输出示例
Oct 03 PHP
PHP 结合 Boostrap 结合 js 实现学生列表删除编辑及搜索功能
May 21 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
第六节--访问属性和方法
2006/11/16 PHP
php Memcache 中实现消息队列
2009/11/24 PHP
php实现mysql数据库操作类分享
2014/02/14 PHP
php的4种常用运行方式详解
2016/12/22 PHP
Laravel 自带的Auth验证登录方法
2019/09/30 PHP
JavaScript 常见对象类创建代码与优缺点分析
2009/12/07 Javascript
css值转换成数值请抛弃parseInt
2011/10/24 Javascript
Java 正则表达式学习总结和一些小例子
2012/09/13 Javascript
浏览器窗口加载和大小改变事件示例
2014/02/27 Javascript
自定义函数实现IE7与IE8不兼容js中trim函数的问题
2015/02/03 Javascript
使用nodejs开发cli项目实例
2015/06/03 NodeJs
浅谈jQuery 中的事件冒泡和阻止默认行为
2016/05/28 Javascript
div实现自适应高度的textarea实现angular双向绑定
2017/01/08 Javascript
Nodejs多站点切换Htpps协议详解及简单实例
2017/02/23 NodeJs
Bootstrap3 多个模态对话框无法显示的解决方案
2017/02/23 Javascript
十个免费的web前端开发工具详细整理
2017/09/18 Javascript
微信小程序dom操作的替代思路实例分析
2018/12/06 Javascript
微信小程序实现的五星评价功能示例
2019/04/25 Javascript
js滚轮事件 js自定义滚动条的实现
2020/01/18 Javascript
关于AngularJS中几种Providers的区别总结
2020/05/17 Javascript
Vue实现一种简单的无限循环滚动动画的示例
2021/01/10 Vue.js
浅析Python中的多进程与多线程的使用
2015/04/07 Python
django manage.py扩展自定义命令方法
2018/05/27 Python
Python 实现一个手机号码获取妹子名字的功能
2019/09/25 Python
python中not、and和or的优先级与详细用法介绍
2020/11/03 Python
python中reload重载实例用法
2020/12/15 Python
css3实现超炫风车特效
2014/11/12 HTML / CSS
很酷的HTML5电子书翻页动画特效
2016/02/25 HTML / CSS
美国眼镜在线零售商:Dualens
2019/12/07 全球购物
日本最大的购物网站乐天市场国际版:Rakuten Global Market(支持中文)
2020/02/03 全球购物
"引用"与多态的关系
2013/02/01 面试题
2013年办公室秘书的个人自我鉴定
2013/10/24 职场文书
化学专业毕业生求职信
2014/07/28 职场文书
党的群众路线教育实践活动对照检查材料(教师)
2014/09/24 职场文书
《1942》观后感
2015/06/08 职场文书
六年级作文之家庭作文
2019/12/12 职场文书