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查询域名状态whois的类
Nov 25 PHP
php木马webshell扫描器代码
Jan 25 PHP
PHP imagegrabscreen和imagegrabwindow(截取网站缩略图)的实例代码
Nov 07 PHP
kohana框架上传文件验证规则写法示例
Jul 14 PHP
在Ubuntu 14.04上部署 PHP 环境及 WordPress
Sep 02 PHP
php使用ob_flush不能每隔一秒输出原理分析
Jun 02 PHP
php+html5+ajax实现上传图片的方法
May 14 PHP
yii的入口文件index.php中为什么会有这两句
Aug 04 PHP
PHP中SQL查询语句的id=%d解释(推荐)
Dec 10 PHP
thinkphp3.2实现跨控制器调用其他模块的方法
Mar 14 PHP
laravel添加前台跳转成功页面示例
Oct 22 PHP
PHP7 标准库修改
Mar 09 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 面向对象 final类与final方法
2010/05/05 PHP
php邮件发送,php发送邮件的类
2011/03/24 PHP
PHP获取当前日期和时间及格式化方法参数
2015/05/11 PHP
php 获取文件行数的方法总结
2016/10/11 PHP
thinkPHP实现基于ajax的评论回复功能
2018/06/22 PHP
laravel实现一个上传图片的接口,并建立软链接,访问图片的方法
2019/10/12 PHP
firefox下input type="file"的size是多大
2011/10/24 Javascript
JS获取节点的兄弟,父级,子级元素的方法
2014/01/09 Javascript
使用jQuery管理选择结果
2015/01/20 Javascript
JS+CSS实现Li列表隔行换色效果的方法
2015/02/16 Javascript
JQuery CheckBox(复选框)操作方法汇总
2015/04/15 Javascript
Java Mybatis框架入门基础教程
2015/09/21 Javascript
微信小程序实现点击返回顶层的方法
2017/07/12 Javascript
jQury Ajax使用Token验证身份实例代码
2017/09/22 Javascript
如何用input标签和jquery实现多图片的上传和回显功能
2018/05/16 jQuery
vue-router 源码实现前端路由的两种方式
2018/07/02 Javascript
layui使用及简单的三级联动实现教程
2020/12/01 Javascript
python开发之函数定义实例分析
2015/11/12 Python
flask使用session保存登录状态及拦截未登录请求代码
2018/01/19 Python
Python3生成手写体数字方法
2018/01/30 Python
Python中@property的理解和使用示例
2019/06/11 Python
Python 用三行代码提取PDF表格数据
2019/10/13 Python
基于python实现学生信息管理系统
2019/11/22 Python
Python HTMLTestRunner可视化报告实现过程解析
2020/04/10 Python
使用keras实现孪生网络中的权值共享教程
2020/06/11 Python
解析Python 偏函数用法全方位实现
2020/06/26 Python
Python常用外部指令执行代码实例
2020/11/05 Python
一款纯css3实现的鼠标悬停动画按钮
2014/12/29 HTML / CSS
HTML5之WebGL 3D概述(下)—借助类库开发及框架介绍
2013/01/31 HTML / CSS
总经理助理的八要求
2013/11/12 职场文书
软件项目开发计划书
2014/05/01 职场文书
服务之星事迹材料
2014/05/03 职场文书
我的中国梦演讲稿初中篇
2014/08/19 职场文书
基层党支部承诺书
2015/04/30 职场文书
什么是创业计划书?什么是商业计划书?这里一一解答
2019/07/12 职场文书
vue3语法糖内的defineProps及defineEmits
2022/04/14 Vue.js