JSON 的语法规则十分简单,无论用何种方法总结都只有数条而已,它参考了 C 语言家族的一些习惯,学习起来并不会感到陌生。

  回顾JSON 的五点语法

  1)- 数组(Array)用方括号(“[]”)表示。

  2)- 对象(Object)用大括号(”{}”)表示。

  3)- 名称/值对(name/value)之间用冒号(”:”)隔开。

  4)- 名称(name)置于双引号中,值(value)有字符串、数值、布尔值、null、对象和数组。

  5)- 并列的数据之间用逗号(“,”)分隔

  对象(Object)

  1、对象用大括号(“{}”)括起来,大括号里是一系列的“名称/值对”,请看概念图。

  2、两个并列的数据之间用逗号(“,”)隔开,注意两点:

  1)- 使用英文的逗号(“,”),不要用中文的逗号(“,”)

  2)- 最后一个“名称/值对“之后不要加逗号

  示例代码

  {“name”:”Lucy”, //值必须用双引号

  “age”: 25

  }

  数组(Array)

  数组表示一系列有序的值,用方括号(“[]”)包围起来,并列的值之间用逗号分隔,请看概念图。

  例如,以下的数组是合法的:

  [1,2,[1,2],{“aa”:1}]

  名称/值对(Name/Value)

  1、名称(Name)是一个字符串,要用双引号括起来,不能用单引号,也不能没有引号,这一点与 JavaScript 不同。

  2、值的类型只有七种:字符串(string)、数值(number)、对象(object)、数组(array)、true、false、null。不能有这之外的类型,例如 undefined、函数等。请看概念图。

  3、字符串(string)的规则如下:

  1)- 英文双引号括起来,不能用单引号,也不能没有。

  2)- 字符串中不能单独出现双引号(”) 和右斜杠(“\”)。

  3)- 如果要打双引号或右斜杠,需要使用“右斜杠+字符”的形式,例如 \” 和 \\,其它的转义字符也是如此

  4、字符串的概念图。

  示例代码:

  {

  “string”: ”one two” //字符串中间不可以加双引号,一定要用的时候,用转义字符“\”

  }

  5、数值的概念图

  示例代码

  {

  “number”: -10.01 //不可以是十六进制和八进制数

  }

原文链接:http://www.maiziedu.com/wiki/json/format/

JSON 语法规则详解的更多相关文章

  1. C#正则表达式语法规则详解

    正则表达式通常包含字母文本(Literaltext)和元字符(metacharacter) 字母文本指的是普通文本如"abcde"可匹配字符串中任何包含"abcde&qu ...

  2. 53个Oracle语句优化规则详解(转)

    Oracle sql 性能优化调整  1. 选用适合的ORACLE优化器        ORACLE的优化器共有3种:a. RULE (基于规则)   b. COST (基于成本) c. CHOOSE ...

  3. ESLint 规则详解(二)

    接上篇 ESLint 规则详解(一) 前端界大神 Nicholas C. Zakas 在 2013 年开发的 ESLint,极大地方便了大家对 Javascript 代码进行代码规范检查.这个工具包含 ...

  4. Nginx 常用全局变量 及Rewrite规则详解

    每次都很容易忘记Nginx的变量,下面列出来了一些常用 $remote_addr //获取客户端ip $binary_remote_addr //客户端ip(二进制) $remote_port //客 ...

  5. JSON语法规则

    JSON 语法规则 JSON 语法是 JavaScript 对象表示法语法的子集. 数据在名称/值对中 数据由逗号分隔 花括号保存对象 方括号保存数组 JSON 名称/值对 JSON 数据的书写格式是 ...

  6. QuantLib 金融计算——基本组件之天数计算规则详解

    目录 天数计算规则详解 定义 30 / 360 法 30/360 US 30/360 Bond Basis 30E/360 30E/360 ISDA Actual 法 Actual/Actual IC ...

  7. Apache Rewrite 规则详解

    在开篇之前: 我想说这篇文章其实是我刚刚接触Rewrite的时候学习的文档,应属转载,但是在这里我不想写明原地址,原因是文章中大多数给出的配置命令经实验都是错误的.需要原文的可以在谷歌上搜索一下&qu ...

  8. Atitit.jdk java8的语法特性详解 attilax 总结

    Atitit.jdk java8的语法特性详解 attilax 总结 1.1. 类型推断这个特别有趣的.鲜为人知的特性1 2. Lambda1 2.1. 内部迭代意味着改由Java类库来进行迭代,而不 ...

  9. css样式继承规则详解

    css样式继承规则详解 一.总结 一句话总结:继承而发生样式冲突时,最近祖先获胜(最近原则). 1.继承中哪些样式不会被继承? 多数边框类属性,比如象Padding(补白),Margin(边界),背景 ...

随机推荐

  1. no branch 问题

    现象如下: lynn.feng:~/project/Git/M_MT6737_MP$ git branch -a* (no branch) a36_panasonic_l004 b36_panason ...

  2. SharePoint自动化系列——Add/Remove “Hold” from items

    转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ 问题1: 1.如果SharePoint item被添加了hold,通过UI界面来对SharePoi ...

  3. ContentProvider官方教程(10)<provider>元素及属性介绍

    The <provider> Element Like Activity and Service components, a subclass of ContentProvider mus ...

  4. 解决点击状态栏时ScrollView自动滚动到初始位置失效办法

    http://www.cocoachina.com/ios/20150807/12949.html 取消点击状态栏scrollView会自动滚动到初始位置的功能 _scrollView.scrolls ...

  5. 关于mysql varchar 类型的最大长度限制

    Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This ...

  6. Python3基础 ,= 一个等式给多个变量赋值

    镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...

  7. SqlSever基础 有over函数时,用as为新列起名

    镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...

  8. BZOJ 2658 小蓝的好友

    题目链接:http://www.lydsy.com:808/JudgeOnline/problem.php?id=2658 题意:给出一个n*m的格子.某些格子中有障碍.求包含至少一个障碍的矩形有多少 ...

  9. 25 个增强iOS应用程序性能的提示和技巧 应用程序性能的提示和技巧

    初级 在开发过程中,下面这些初级技巧需要时刻注意: 1.使用ARC进行内存管理2.在适当的情况下使用reuseIdentifier3.尽可能将View设置为不透明(Opaque)4.避免臃肿的XIBs ...

  10. Dede CMS 5.5 升级到 5.7 SP1

    Dede CMS 5.5 的漏洞实在是太多了,三天两头被Hacker们挂马.话说挂这些破网址真的能带来丰厚的回报吗?做人要厚道啊.   闲话少说,我按照网上的升级到5.5升级到5.7不出错的方法,升级 ...