JSON Schema

JSON Schema is a vocabulary that allows you to annotate and validate JSON documents.
See http://json-schema.org

JSON 格式规范

JSON 通常是作为轻量级信息载体来使用,故而我们对于 JSON 数据在应用层面的良构性并没有给予太多的关注,只要符合 JSON 的基本语法要求,就认为数据是“合法的”。与 YAML 相比,JSON 本身抗干扰能力较强,最容易出现的格式问题往往与我们习惯了 JavaScript 的书写定势有关,包括:

  • 属性名省略定界符
    JavaScript 对象是允许属性名裸露的,但是 JSON 不可以。

  • 属性名或字符串字面量使用单引号作定界符
    JavaScript 对象允许使用单引号作为字符串定界符,但是 JSON 不可以。

  • 插入注释
    JSON 中不支持任何注释。

举例说明:

/**
 * 本段作为 JavaScript 代码(对象)是合法的,但不符合 JSON 格式规范。
 *(块注释本身亦不合法)
 */
{
    // 属性名未加定界符,非法!(本行注释本身亦不合法)
    name: "Jack",

    // 使用单引号作为定界符,非法!(本行注释本身亦不合法)
    "gender": 'male'
}

应用数据的良构性

如果你用过 X(ML) S(chema) D(efinition),那么你一定能够明白 JSON Schema 是用来干什么。简言之,JSON Schema 用来描述(或者说约束)你的 JSON 数据应该是什么样子的。

在线资源

results matching ""

    No results matching ""