JSON Schema JSON对象 JSON与XmL的比较 JSON Schema JSON Schema是基于JSON的格式的规范,用于定义JSON数据的结构。它是根据2011年到期的IETF草案撰写的.JSON Schema 描述您现有的数据格式。 清晰,人性化和机器可读的文档。 完整的结构验证,对自动化测试很有用。 完成结构验证,验证客户提交的数据。 JSON模式验证库 目前有几种验证器可用于不同的编程语言。目前,最完整和最合规的JSON Schema验证器是JSV。 Languages Libraries C WJElement (LGPLv3) Java json-schema-validator (LGPLv3) .NET Json.NET (MIT) ActionScript 3 Frigga (MIT) Haskell aeson-schema (MIT) Python Jsonschema Ruby autoparse (ASL 2.0); ruby-jsonschema (MIT) PHP php-json-schema (MIT). json-schema (Berkeley) JavaScript Orderly (BSD); JSV; json-schema; Matic (MIT); Dojo; Persevere (modified BSD or AFL 2.0); schema.js. JSON模式示例 下面给出了一个基本的JSON模式,它涵盖了传统的产品目录描述 - { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Product", "description": "A product from Acme's catalog", "type": "object", "properties": { "id": { "description": "The unique identifier for a product", "type": "integer" }, "name": { "description": "Name of the product", "type": "string" }, "price": { "type": "number", "minimum": 0, "exclusiveMinimum": true } }, "required": ["id", "name", "price"] } 让我们检查一下可以在这个模式中使用的各种重要关键字 - 序号 关键字和说明 1 $schema $ schema关键字声明此模式是根据草案v4规范编写的。 2 title 您将使用它来为您的架构提供标题。 3 description 对架构的一点描述。 4 type type关键字定义了我们的JSON数据的第一个约束:它必须是一个JSON对象。 五 properties 定义要在JSON文件中使用的各种键及其值类型,最小值和最大值。 6 required 这将保留所需属性的列表。 7 minimum 这是要对值进行约束并表示最小可接受值。 8 exclusiveMinimum 如果“exclusiveMinimum”存在且布尔值为true,则实例有效,如果它严格大于“minimum”的值。 9 maximum 这是要放在值上的约束,表示最大可接受值。 10 exclusiveMaximum 如果“exclusiveMaximum”存在且布尔值为true,则实例有效,如果它严格低于“maximum”的值。 11 multipleOf 如果通过此关键字的值对实例进行除法的结果是整数,则数字实例对“multipleOf”有效。 12 maxLength 字符串实例的长度定义为其最大字符数。 13 minLength 字符串实例的长度定义为其字符的最小数量。 14 pattern 如果正则表达式与实例成功匹配,则认为字符串实例有效。 您可以在http://json-schema.org上查看可用于定义JSON模式的关键字的完整列表。上述模式可用于测试以下JSON代码的有效性 [ { "id": 2, "name": "An ice sculpture", "price": 12.50, }, { "id": 3, "name": "A blue mouse", "price": 25.50, } ] JSON对象 JSON与XmL的比较