jsonschemajsonschema入门


备注

什么是JSON Schema?

JSON Schema是一个词汇表,允许您验证,注释和操作JSON文档。

JSON Schema本身就是一个JSON文档 ,需要第三方库来验证数据。

它目前是IETF标准草案,允许基于标准规范的实现的一致期望。

词汇

发表的词汇

拟议的词汇表需要讨论,反馈和审查

实现

GitHub存储库中维护了一个实现列表。目前支持的语言列表列出了以下验证器:

ActionScript 3,C,C ++,Clojure,Dart,Erlang,Go,Haskell,Java,JavaScript,.NET,PHP,Perl,Python和Ruby

还有UI生成器,数据解析器,模式编辑器,文档生成器和IDE支持。

基本示例验证模式

{
    "title": "Person",
    "type": "object",
    "properties": {
        "firstName": {
            "type": "string"
        },
        "lastName": {
            "type": "string"
        },
        "age": {
            "description": "Age in years",
            "type": "integer",
            "minimum": 0
        }
    },
    "required": ["firstName", "lastName"]
}

结果

// Valid
{
    "firstName": "Jason",
    "lastName": "Voorhees"
}
// Valid
{
    "firstName": "Jason",
    "lastName": "Voorhees",
    "age": 47
}
// Invalid - no lastName
{
    "firstName": "Jason",
    "age": 47
}
// Invalid - age is not integer
{
    "firstName": "Jason",
    "lastName": "Voorhees",
    "age": "47"
}