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 相关文章推荐
同台服务器使用缓存APC效率高于Memcached的演示代码
Feb 16 PHP
PHP基础学习小结
Apr 17 PHP
PHP中改变图片的尺寸大小的代码
Jul 17 PHP
PHP中的正则表达式函数介绍
Feb 27 PHP
php多个文件及图片上传实例详解
Nov 10 PHP
php解析字符串里所有URL地址的方法
Apr 03 PHP
PHP数据库操作二:memcache用法分析
Aug 16 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
Nov 14 PHP
Codeigniter里的无刷新上传的实现代码
Apr 14 PHP
PHP FileSystem 文件系统常用api整理总结
Jul 12 PHP
PHP实现提高SESSION响应速度的几种方法详解
Aug 09 PHP
php和html的区别点详细总结
Sep 24 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/10/09 PHP
php中计算时间差的几种方法
2009/12/31 PHP
php中使用接口实现工厂设计模式的代码
2012/06/17 PHP
学习php设计模式 php实现装饰器模式(decorator)
2015/12/07 PHP
php实现QQ小程序发送模板消息功能
2019/09/18 PHP
php设计模式之建造器模式分析【星际争霸游戏案例】
2020/01/23 PHP
CL vs ForZe BO5 第三场 2.13
2021/03/10 DOTA
Javascript代码混淆综合解决方案-Javascript在线混淆器
2006/12/18 Javascript
JS验证邮箱格式是否正确的代码
2013/12/05 Javascript
简单方法判断JavaScript对象为null或者属性为空
2014/09/26 Javascript
分享20款美化网站的 jQuery Lightbox 灯箱插件
2014/10/10 Javascript
使用Node.js实现HTTP 206内容分片的教程
2015/06/23 Javascript
浅谈JavaScript 的执行顺序
2015/08/07 Javascript
JavaScript File分段上传
2016/03/10 Javascript
详解使用angularjs的ng-options时如何设置默认值(初始值)
2017/07/18 Javascript
清空元素html("") innerHTML="" 与 empty()的区别和应用(推荐)
2017/08/14 Javascript
创建nuxt.js项目流程图解
2020/03/13 Javascript
netbeans7安装python插件的方法图解
2013/12/24 Python
Python标准异常和异常处理详解
2015/02/02 Python
Python Django框架url反向解析实现动态生成对应的url链接示例
2019/10/18 Python
原生python实现knn分类算法
2019/10/24 Python
Django admin禁用编辑链接和添加删除操作详解
2019/11/15 Python
在vscode中启动conda虚拟环境的思路详解
2020/12/25 Python
前端面试必备之html5的新特性
2017/09/05 HTML / CSS
米兰必去买手店排行榜首位:Antonioli
2016/09/11 全球购物
美国潜水装备、水肺潜水和浮潜设备商店:Leisure Pro
2018/08/08 全球购物
九年级历史教学反思
2014/01/27 职场文书
赔偿协议书范本
2014/09/12 职场文书
2014年国庆晚会主持词
2014/09/19 职场文书
2014年实习生工作总结
2014/11/27 职场文书
初中优秀学生评语
2014/12/29 职场文书
银行优秀员工推荐信
2015/03/24 职场文书
文明上网主题班会
2015/08/14 职场文书
CSS实现九宫格布局(自适应)的示例代码
2022/02/12 HTML / CSS
MySQL 主从复制数据不一致的解决方法
2022/03/18 MySQL
Python Flask实现进度条
2022/05/11 Python