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数据格式解析的更多相关文章

  1. android JSON数据格式 解析

    一.   JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧.  Json建构于两种结构:  最后再加一种格式在文章的最后显示出来非常少有的格式   ...

  2. android 解析json数据格式(转)

    json数据格式解析我自己分为两种: 一种是普通的,一种是带有数组形式的: 普通形式的:服务器端返回的json数据格式如下: {"userbean":{"Uid" ...

  3. android 解析json数据格式

    json数据格式解析我自己分为两种: 一种是普通的,一种是带有数组形式的: 普通形式的:服务器端返回的json数据格式如下: {"userbean":{"Uid" ...

  4. <转>android 解析json数据格式

    json数据格式解析我自己分为两种:一种是普通的,一种是带有数组形式的: 普通形式的:服务器端返回的json数据格式如下:{"userbean":{"Uid": ...

  5. 关于iOS中几种第三方对XML/JSON数据解析的使用

    Json XML 大数据时代,我们需要从网络中获取海量的新鲜的各种信息,就不免要跟着两个家伙打交道,这是两种结构化的数据交换格式.一般来讲,我们会从网络获取XML或者Json格式的数据,这些数据有着特 ...

  6. JS中将JSON的字符串解析成JSON数据格式《转》

    在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 使用eval函数来解析,并且使用jquery的ea ...

  7. JSON字符串解析成JSON数据格式

    在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 使用eval函数来解析,并且使用jquery的ea ...

  8. C语言cJSON库的使用,解析json数据格式

    C语言cJSON库的使用,解析json数据格式 摘自:https://www.cnblogs.com/piaoyang/p/9274925.html 对于c语言来说是没有字典这样的结构的,所以对于解析 ...

  9. Android数据格式解析对象JSON用法

    1.JSON概念: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性,从而可以在不同平台间进行数据交换.JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为. JSON可以将 ...

随机推荐

  1. Address already in use: JVM_Bind问题的解决

    tomcat一般出现Address already in use: JVM_Bind的问题,可能是端口冲突,也就是端口被占用了. 这个可能是其他应用程序使用了同一个端口(默认是8080),也可能是你启 ...

  2. 控件布局_LinearLayout

    gravity和layout_gravity的区别 android:gravity与android:layout_gravity.他们的区别在于:android:gravity用于设置View组件的对 ...

  3. [WC2011]最大XOR和路径

    嘟嘟嘟 不愧是WC的题,思维真的很妙(虽然代码特别简单). 首先暴力找出所有路径肯定不行. 题中说可以经过重复的边,并且边权也会被计算多次.那么就是说,如果经过一条边再沿这条边回来,这条边的贡献就是0 ...

  4. Spring 注解大全

    @Autowired 自动注入 (存在多个可注入Bean时,通过 @Qualifier 指定)@Resource 与@Autowired作用相同@Repository 只能标注在 DAO 类上.该注解 ...

  5. 路由器不重启,是否ip就永远不变

    今天发现公司的公网ip突然变了,没有人去动过路由器怎么会这样呢?经查原因如下:1.不一定,IP变化是每一次拨号重新获取的.2.路由器重启了,会自动拨号,获得IP3.但如果说因各种原因,掉线,路由器也会 ...

  6. IDEA学生免费申请教程

    1.点击网址,进入申请页面https://www.jetbrains.com/zh/student/ 2.由于网页是全英文的,可以用浏览器将页面翻译成中文版,更方便操作 3.因为没有大学的邮箱地址,所 ...

  7. centos7搭建elasticsearch

    Elasticsearch:负责日志检索和分析,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等 Logstash:对日志进行收集.过 ...

  8. JVM实践

    package com.lsw.classloader; import java.io.FileInputStream;import java.lang.reflect.Field;import ja ...

  9. XD308H设计超宽电压非隔离电源 MP150电源芯片

    220V转12V 220V转24V 380V转5V 3800V转12V 380V转24V 参考:https://wenku.baidu.com/view/862c19fca0c7aa00b52acfc ...

  10. Linux教程--基础命令

    本教程适用于已经有Linux基础的同学们来一起学习哦!(环境:实验楼(https://www.shiyanlou.com/)) 有趣的Linux命令:Banner 一.安装 sudo apt-get ...