JSON代码书写规范

HTML5学堂:在AJAX实现前后台数据交互的时候,通常使用JSON的数据格式,对于JSON来说,有严格的代码规范,一旦格式出问题,就无法显示出相应效果,同时还不在控制台报错。今天我们一起总结一下,JSON的书写有哪些规范。

JSON是什么?

在前后台的交互中,通常要互相传递消息,那就需要一种两方面都能“听懂的语言”,数据格式这里就代表语言。JSON就是前后台中都能理解的一种“语言”。

JSON的类型

JSON也有不同的组织形式,一种是JSON对象,一种为JSON数组。因此,在书写的代码当中,需要遵循基本的对象、数组的书写方式。

数组方式

    [{
        "city" : "BeiJing",
        "num" : 5
    }, {
        "city" : "ShenZhen",
        "num" : 5
    }, {
        "city" : "XiaMen",
        "num" : 5
    }]

对象方式

    {
        "user" : "H5course",
        "type" : "studyNetwork",
        "team" : [{
            "city" : "BeiJing",
            "num" : 5
        }, {
            "city" : "ShenZhen",
            "num" : 5
        }, {
            "city" : "XiaMen",
            "num" : 5
        }]
    }

书写JSON的注意事项

1 数组或对象之中的字符串必须使用双引号,不能使用单引号

2 对象的成员名称必须使用双引号

3 数组或对象最后一个成员的后面,不能加逗号

4 数组或对象的每个成员的值,可以是简单值,也可以是复合值。简单值分为四种:字符串、数值(必须以十进制表示)、布尔值和null(NaN, Infinity, -Infinity和undefined都会被转为null)。复合值分为两种:符合JSON格式的对象和符合JSON格式的数组。

不合法JSON的举例

案例1:使用单引号,不合法

    {'user' : 'HTML5学堂'}

案例2:属性名没有使用双引号,不合法

    {user : "HTML5学堂"}

案例3:使用16进制数字,不合法

    {"age" : 0x12}

案例4:使用undefined,不合法

    {"age" : undefined}

案例5:逗号使用错误,不合法

    [{
        "city" : "BeiJing",
        "num" : 5,
    }, {
        "city" : "ShenZhen",
        "num" : 5,
    }]

案例6:使用自定义函数或内置函数(如Date),不合法

    {
        "user" : "HTML5学堂",
        "ftn" : function(){
            console.log('不能这么用啊');
        }
    }

原文发布于微信公众号 - HTML5学堂(h5course-com)

原文发表时间:2016-01-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏iOS122-移动混合开发研究院

【读书笔记】A Swift Tour

素材:A Swift Tour 推荐下载Playground:Download Playground objc 自己较为熟悉,想熟悉下风头正劲的 swift。就...

3618
来自专栏GreenLeaves

JS框架设计之对象类型判断一种子模块

Javascript有两套数据类型,一套是基础数据类型,一套是对象数据类型。基础数据类型包括5种基本数据类型,分别是null,bool,undefined,nu...

2028
来自专栏HTML5学堂

原生JS | 值类型与引用类型变量

HTML5学堂-码匠:在JavaScript中,存在着两种不同的变量类型,一种是值类型变量,一种是引用类型变量。其中数组、对象、函数都属于引用类型变量,数值、布...

3339
来自专栏Ryan Miao

Java String.split()用法小结

在java.lang包中有String.split()方法,返回是一个数组 我在应用中用到一些,给大家总结一下,仅供大家参考: 1、如果用“.”作为分隔的话,必...

34711
来自专栏Ryan Miao

String.split()用法以及特殊分隔符注意,ps:|

转载:http://www.cnblogs.com/mingforyou/archive/2013/09/03/3299569.html 在java.lang包...

3119
来自专栏马涛涛的专栏

JS面向对象二:this/原型链/new原理

也可以看看这篇文章周大侠啊 进击的 JavaScript(六) 之 this先了解一下`this的四种绑定规则和箭头函数的this绑定

1763
来自专栏开发与安全

从零开始学C++之模板(二):类模板、Stack的类模板实现(自定义链栈方式,自定义数组方式)

一、类模板 类模板:将类定义中的数据类型参数化 类模板实际上是函数模板的推广,可以用相同的类模板来组建任意类型的对象集合 (一)、类模板的定义 templ...

2340
来自专栏极乐技术社区

使用ES6新特性开发微信小程序(1)

ECMAScript 6(简称ES6)是JavaScript语言的最新标准。因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015。 ...

2285
来自专栏柠檬先生

Sass 基础(五)

@if   @if 指令是一个SassScript,它可以根据条件处理样式块,如果条件为true返回一个样式块,反之   false 返回另一个样式块,在S...

2328
来自专栏java达人

js的回调函数详解

在Javascript中,函数是第一类对象,这意味着函数可以像对象一样按照第一类管理被使用。既然函数实际上是对象:它们能被“存储”在变量中,能作为函数参数被传递...

3625

扫码关注云+社区

领取腾讯云代金券