专栏首页HTML5学堂JSON代码书写规范

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),作者:HTML5学堂

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 兼容IE6 a标签hover特殊效果

    HTML5学堂:虽然IE6现在使用率越来越低,很多网站也放弃了对IE6,甚至放弃了对IE7的兼容,但是IE6还是有很多人在使用。当我们在处理a标签的hover效...

    HTML5学堂
  • pageResponse - 移动端适配框架

    HTML5学堂:移动端布局一直都是一个问题,各种各样的分辨率使得移动端的布局需要耗费大量的时间。今天介绍一个框架pageResponse.js可以让页面在各种分...

    HTML5学堂
  • JS设置标签的内容和样式

    上一期堡堡给大家分享了操作符与数据类型转换。掌握JS操作符的目的是为了能够灵活的操作变量,以便完成JS的各种逻辑处理;掌握数据类型转换可以让我们避免一些不该发生...

    HTML5学堂
  • SpringMVC返回数据到视图

    在SpringMVC中有一个ModelAndView对象,如其名,Model代表模型,View代表视图,这个名字就很好地解释了该类的作用——它用来存储模型数据以...

    端碗吹水
  • 如何用Python获取两个日期之间的日期?

    TalkPython
  • 利用Spring MVC搭建REST Service

    之前写过一篇 利用JAX-RS快速开发RESTful 服务 今天来看下spring-mvc框架如何实现类似的功能:  一、pom.xml 1 <?xml v...

    菩提树下的杨过
  • SpringBoot系列之@PropertySource读取yaml文件

    最近在做实验,想通过@PropertySource注解读取配置文件的属性,进行映射,习惯上用properties都是测试没问题的,偶然换成yaml文件,发现都读...

    SmileNicky
  • 攻防世界Hello,CTF writeup

    代码的的36行处进行了一个字符串比较,如果v10的值等于v13的值会反馈一个success的输出。v13的值在第15行给出,因此需要知道v10是怎么处理的。

    KevinBruce
  • 如何设计一个消息中间件? 消息中间件的总体架构

    消息是MQ中最小的概念,本质上就是一段数据,它能被一个或者多个应用程序所理解,是应用程序之间传递的信息载体。

    一个会写诗的程序员
  • 利用注解进行 Spring 开发

    之前的学习中都是利用 XML 配置中的 bean 标签来进行 Bean 的注入,现在来学习一下如何利用注解实现 Bean 注入。

    村雨遥

扫码关注云+社区

领取腾讯云代金券