Altova XMLSpy 2023 Professional Edition

正如XML Schema定义XML文档的结构和内容一样,JSON Schema指定JSON文档中的JSON数据的结构。它指定需要哪些数据字段以及如何表示值。有关JSON Schema和JSON Schema规范的更多信息,请参见此处

 

JSON Schema本身就是一个JSON对象。词法上,整个Schema都包含在大括号(JSON对象的分隔符)中(参见下方代码片段)。Schema以JSON语法编写,通常存储在带有.json扩展名的文件中。该文件由\$schema关键词标识为JSON Schema,该关键词应是顶级对象的第一个关键词。此关键词应具有以下值之一:

 

draft-07之前的版本:"http://json-schema.org/draft-N/(hyper-)schema#",其中N代表版本号(040607)。

draft-2019-09以后的版本:"https://json-schema.org/draft/YYYY-MM/(hyper-)schema",其中YYYYMM分别代表草案的年份和月份,例如2019-09

 

下方示例展示了如何使用\$schema关键词。

 

{

  "\$schema": "https://json-schema.org/draft/2020-12/schema",

  ...

}

 

请注意:尽管\$schema关键词可以具有值"http://json-schema.org/schema#",它指定了Schema的最新版本,但最好使用一个能识别特定版本的URL。有关更多信息,请参见JSON Schema版本。  

 

 

在XMLSpy中,您可以在JSON Schema视图中以图形方式创建JSON Schema。有关此操作,请参见JSON Schema视图部分。除了JSON Schema视图中的Schema编辑功能以外,还提供以下与chema相关的功能:

 

使用XMLSpy的JSON验证器进行验证:将JSON Schema分配给JSON实例文档,并在XMLSpy中验证该实例文档。有关更多信息,请参见验证JSON文档

设置JSON验证选项

从JSON实例生成JSON Schema:如果JSON实例文档已存在,则可以从该文档生成JSON Schema。随后您可以根据需要编辑该Schema。

JSON和XML之间的转换:您可以在这两种格式之间转换文档。

 

术语

下方给出了在图形用户界面和本文档中常用的JSON Schema术语的定义。

 

术语

定义

Schema

JSON Schema文档中的顶级Schema对象;Schema文件。

对象

包含零个或多个属性的JSON类型。

属性

一个对象的key:value对。该对象的值可以是任何JSON数据类型。

关键词

一个对象的key:value对的key部分。它始终是一个字符串。

子Schema

作为运算符或依赖项的子级的对象。

定义

每个JSON类型的完整描述。定义可以是全局的或局部的

数组

一个由任何JSON数据类型的零个或多个items组成的以逗号分隔的有序列表。

原子类型

String、number、integer、boolean以及nullnumberintegerboolean以及null JSON数据类型。

类型选择器

anymultiple类型,分别选择任意和多个类型

运算符

出现次数选择器,可以作为定义的子级添加。请参见运算符部分。

 

JSON数据类型

对象属性值和数组项可以是以下类型:

 

string(必须用引号括起来):一个字符串还可以被指定为具有某种格式,例如date-timeemail格式。

number:带有小数部分的数字,包括整数。

integer:不带小数部分的数字;它是number类型的子集

booleantrue/false,不括在引号中)

object:当在另一个对象中使用时,允许嵌套数据。

array:与对象相比,它允许您构建更复杂的结构。

nullnull,不括在引号中)

 

© 2017-2023 Altova GmbH