JSON数据格式解析
JSON数据的语法规则
1、数据以键值对的形式
2、数据由逗号分隔
3、花括号保存对象
4、方括号保存数组
以PHP的数组为例:
<?php
$arr = array(
"aaaa",
"bbbb",
"cccc"=>array(
"dddd",
"eeee"=>array(
"xxxxx",
"yyyyy"
),
"ffff"=>array(
"ggggg",
"hhhh",
"iiiii"=>array(
"jjjjj",
"kkkkk",
"lllll"
)
)
)
); print_r($arr)."\n";
print_r(json_encode( $arr ));
?>
运行:
Array
( [0] => aaaa
[1] => bbbb
[cccc] => Array
(
[0] => dddd
[eeee] => Array
(
[0] => xxxxx
[1] => yyyyy
)
[ffff] => Array
(
[0] => ggggg
[1] => hhhh
[iiiii] => Array
(
[0] => jjjjj
[1] => kkkkk
[2] => lllll
)
)
)
)
{
"0":"aaaa",
"1":"bbbb",
"cccc":{
"0":"dddd",
"eeee":["xxxxx","yyyyy"],
"ffff":{
"0":"ggggg",
"1":"hhhh",
"iiiii":["jjjjj","kkkkk","lllll"]
}
}
}
上面例子中,当不同深度的数组元素的类型不同时(有的为字符串值,有的又是一个数组)。
虽然键值对是以冒号分隔,冒号的左边毫无疑问是 数组的索引 或者 关联数组的key,而右边呢?什么时候直接用双引号来将值括起来?什么时候该用花括号?什么时候该用方括号?
可以看上面的例子就可以总结出来,因为总结绕来绕去,所以就不写了,一看上面代码的运行结果就能明白了。
JSON数据格式解析的更多相关文章
- android JSON数据格式 解析
一. JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧. Json建构于两种结构: 最后再加一种格式在文章的最后显示出来非常少有的格式 ...
- android 解析json数据格式(转)
json数据格式解析我自己分为两种: 一种是普通的,一种是带有数组形式的: 普通形式的:服务器端返回的json数据格式如下: {"userbean":{"Uid" ...
- android 解析json数据格式
json数据格式解析我自己分为两种: 一种是普通的,一种是带有数组形式的: 普通形式的:服务器端返回的json数据格式如下: {"userbean":{"Uid" ...
- <转>android 解析json数据格式
json数据格式解析我自己分为两种:一种是普通的,一种是带有数组形式的: 普通形式的:服务器端返回的json数据格式如下:{"userbean":{"Uid": ...
- 关于iOS中几种第三方对XML/JSON数据解析的使用
Json XML 大数据时代,我们需要从网络中获取海量的新鲜的各种信息,就不免要跟着两个家伙打交道,这是两种结构化的数据交换格式.一般来讲,我们会从网络获取XML或者Json格式的数据,这些数据有着特 ...
- JS中将JSON的字符串解析成JSON数据格式《转》
在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 使用eval函数来解析,并且使用jquery的ea ...
- JSON字符串解析成JSON数据格式
在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 使用eval函数来解析,并且使用jquery的ea ...
- C语言cJSON库的使用,解析json数据格式
C语言cJSON库的使用,解析json数据格式 摘自:https://www.cnblogs.com/piaoyang/p/9274925.html 对于c语言来说是没有字典这样的结构的,所以对于解析 ...
- Android数据格式解析对象JSON用法
1.JSON概念: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性,从而可以在不同平台间进行数据交换.JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为. JSON可以将 ...
随机推荐
- vue实例生命周期详解
每个 Vue 实例在被创建之前都要经过一系列的初始化过程. 例如,实例需要配置数据观测(data observer).编译模版.挂载实例到 DOM ,然后在数据变化时更新 DOM . 在这个过程中,实 ...
- Http接口安全整理
1.Http接口安全概述: 1.1.Http接口是互联网各系统之间对接的重要方式之一,使用http接口,开发和调用都很方便,也是被大量采用的方式,它可以让不同系统之间实现数据的交换和共享,但由于htt ...
- [WC2011]最大XOR和路径
嘟嘟嘟 不愧是WC的题,思维真的很妙(虽然代码特别简单). 首先暴力找出所有路径肯定不行. 题中说可以经过重复的边,并且边权也会被计算多次.那么就是说,如果经过一条边再沿这条边回来,这条边的贡献就是0 ...
- 每周一个linux命令之---uptime详解
每周一个linux命令之---uptime详解 linux命令 uptime详解 引言:从今天开始,每周更新一个对程序员有用的linux命令,我真的没敢写每天一个,我怕我坚持不下去,每周一个还是可以的 ...
- mascara-2(MetaMask/mascara本地实现)-连接线上钱包
https://github.com/MetaMask/mascara (beta) Add MetaMask to your dapp even if the user doesn't have t ...
- 很好的一篇eureka的讲解文章
文章地址 http://nobodyiam.com/2016/06/25/dive-into-eureka/
- VsCode插件开发之插件初步通信
参考了Egret Wing,想像Egret Wing那样在上方titlebar最右边上面增加一个menu(这个menu相对于一个按钮,当点击这个按钮时会出现一个window弹框,这个window弹框里 ...
- mybatis配置时出现org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
如果出现: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 一般的原因是Mapper i ...
- centos7之docker安装
下午四点左右,我准备接触docker这个技术.之所以接触它,原因来自tomcat服务器老是挂,也不能说老是挂,一周一次吧,或者不定时,最初出现的问题,分为这么几类? 一类,java代码的问题,某个类导 ...
- Cesium学习2:如何从零开始在Eclipse IDE,Java语言搭建cesium开发环境
废话不多说,今天就先在Eclipse上搭建Cesium开发环境吧~ 零.Cesium简介 Cesiumjs 是一套javascript库,用来渲染3D地球,2D区域地图,和多种GIS要素.不需要安装任 ...