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 基础教程(一)
Oct 09 PHP
如何用phpmyadmin设置mysql数据库用户的权限
Jan 09 PHP
用php来改写404错误页让你的页面更友好
Jan 24 PHP
解析mysql 表中的碎片产生原因以及清理
Jun 22 PHP
smarty模板引擎从php中获取数据的方法
Jan 22 PHP
PHP加密解密实例分析
Dec 25 PHP
在Thinkphp中使用ajax实现无刷新分页的方法
Oct 25 PHP
Yii框架实现的验证码、登录及退出功能示例
May 20 PHP
PHP使用PDO访问oracle数据库的步骤详解
Sep 29 PHP
PHP回调函数简单用法示例
May 08 PHP
Laravel 前端资源配置教程
Oct 18 PHP
PHP实现二维数组(或多维数组)转换成一维数组的常见方法总结
Dec 04 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
星际争霸任务指南——虫族
2020/03/04 星际争霸
oracle资料库函式库
2006/10/09 PHP
PHP 读取文件内容代码(txt,js等)
2009/12/06 PHP
Php Mssql操作简单封装支持存储过程
2009/12/11 PHP
PHP实现通过中文字符比率来判断垃圾评论的方法
2014/10/20 PHP
php中数据库连接方式pdo和mysqli对比分析
2015/02/25 PHP
php生成短域名函数
2015/03/23 PHP
微信支付PHP SDK之微信公众号支付代码详解
2015/12/09 PHP
Laravel如何友好的修改.env配置文件详解
2017/06/07 PHP
jQuery布局插件UI Layout简介及使用方法
2013/04/03 Javascript
javascript对下拉列表框(select)的操作实例讲解
2013/11/29 Javascript
JS实现从网页顶部掉下弹出层效果的方法
2015/08/06 Javascript
js点击按钮实现带遮罩层的弹出视频效果
2015/12/19 Javascript
设计模式中的组合模式在JavaScript程序构建中的使用
2016/05/18 Javascript
vue自定义filters过滤器
2018/04/26 Javascript
微信小程序模板template简单用法示例
2018/12/04 Javascript
Vue 组件修改根实例的数据的方法
2019/04/02 Javascript
vue 弹窗时 监听手机返回键关闭弹窗功能(页面不跳转)
2019/05/10 Javascript
python每隔N秒运行指定函数的方法
2015/03/16 Python
在Python中测试访问同一数据的竞争条件的方法
2015/04/23 Python
打包发布Python模块的方法详解
2016/09/18 Python
python用户管理系统的实例讲解
2017/12/23 Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
2018/12/19 Python
Python3 shelve对象持久存储原理详解
2020/03/23 Python
一张图片能隐含千言万语之隐藏你的程序代码
2012/12/13 HTML / CSS
骨干教师培训感言
2014/01/16 职场文书
大学生求职工作的自我评价
2014/02/13 职场文书
人力资源作业细则
2014/03/03 职场文书
经典英文广告词
2014/03/18 职场文书
小学阳光体育活动总结
2014/07/05 职场文书
销售员未完成销售业绩的检讨书
2014/10/12 职场文书
2016大学生社会实践单位评语
2015/12/01 职场文书
Java数据结构之链表相关知识总结
2021/06/18 Java/Android
C3 线性化算法与 MRO之Python中的多继承
2021/10/05 Python
苹果电脑mac os中货币符号快捷输入
2022/02/17 杂记
详解Flutter网络请求Dio库的使用及封装
2022/04/14 Java/Android