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. Educational Codeforces Round 16 B

    Description You are given n points on a line with their coordinates xi. Find the point x so the sum ...

  2. CI 同时上传多个图片

    最近,一直在研究ci框架,由于项目的需求,在后台需要做一个功能同时上传两张图片.测试了好久都没有两张图片都没有上传成功,(上传的结果是只能上传第二张图片,但是图片名称是第一个图片的).在这里说一下自己 ...

  3. C语言培训第一天

    下面是一些命令,先来谈谈今天的若干收获吧! 计算机中的一切文件都是以二进制补码的形式存在,问题也就来了. 第一个问题 如果我们给一个无符号的数赋值一个负数,他会读取到什么,又会输出什么?(似乎问题和上 ...

  4. Duilib创建窗口双击标题栏禁止窗口最大化

    使用Duilib创建窗口并禁止窗口最大化 第一步: XXXFrame.Create(NULL, _T("XXXFrame"), UI_WNDSTYLE_EX_FRAME, WS_E ...

  5. 函数式编程之block

    语法: 注意: 1,在代码块中可以使用和改变全局变量 2,而局部变量可以使用,但是不能改变. 怎么在代码块中改变局部变量呢?在局部变量前面加上关键字:__block 参考: Objective-C语法 ...

  6. SUSE Linux Enterprise Server 设置IP地址、网关、DNS

    说明: ip:192.168.21.172 子网掩码:255.255.255.0 网关:192.168.21.2 dns:8.8.8.8 8.8.4.4 1.设置ip地址 vi /etc/syscon ...

  7. HCE基础知识

    HCE基础知识普及   http://www.cebnet.com.cn2014-09-18 10:32来源:中钞研究院 字号:   NFC技术发展 NFC(Near Field Communicat ...

  8. 单向和双向tvs管

    tvs管器件按极性可分为单极性和双极性两种,即单向tvs管和双向tvs管.    单向tvs管保护器件仅能对正脉冲或者负脉冲进行防护,而双向tvs管保护器件一端接要保护的线路,一端接地,无论来自反向还 ...

  9. Linux红帽认证----I Want

    仅此设定一个目标,此证一定搞到手!!!

  10. Google's Open Source SLAM Library ---- Cartographer

    What is Cartographer? Google announce the open source release of Cartographer, a real-time simultane ...