亚马逊产品类型定义Meta-Schema (v1)

亚马逊SPAPI

# Operationsa-Schema*是JSON Schema Draft 2019-09 (opens new window)的扩展,描述了亚马逊产品类型的属性和要求,如LUGGAGE.

** Schema URI**: https://schemas.amazon.com/selling-partners/definitions/product-types/meta-schema/v1

词汇表URI: https://schemas.amazon.com/selling-partners/definitions/product-types/vocabulary/v1

Amazon产品类型定义Meta-Schema的实例可以利用JSON Schema Draft 2019-09 (opens new window).所支持的任何关键字和词汇,更多细节见https://json-schema.org/specification.html (opens new window)

除了标准的JSON Schema Draft 2019-09 (opens new window)词汇外,Amazon产品类型定义Meta-Schema的实例利用meta-schema中定义为自定义词汇的关键词.本文档概述了https://schemas.amazon.com/selling-partners/definitions/product-types/vocabulary/v1URI的自定义词汇.

亚马逊产品类型定义Meta-Schema实例的消费者可以选择忽略自定义词汇,只使用标准的JSON Schema Draft 2019-09 (opens new window)词汇.这样做将验证亚马逊产品类型的大多数要求,但在提交时可能导致一些验证错误.

# Vocabulary

# editable

类型: "boolean"(布尔) 目的: 信息性的 描述: `可编辑'关键字表示是否可以改变现有项目的属性值.不可编辑的属性可能仍然需要有效的提交,但不能改变其原始值.

# enumNames

类型: array(数组) 目的: 信息性的 描述: enumNames关键字包含了一个相应的enum值数组的显示标签数组. enumNames数组中的显示标签与enum数组中的值顺序相同.

# hidden

类型: boolean. 目的: 信息性的 描述: hidden关键字表明在亚马逊用户界面中是否应该隐藏一个属性. 隐藏或显示这些属性是由消费亚马逊产品类型定义元-Schema.的应用程序决定的

# maxUniqueItems

类型: 整数 目的: 验证 描述: 与selectors关键字一起,maxUniqueItems关键字值定义了一个数组中唯一项目的最大数量.

# minUniqueItems

类型: 整数' **目的**: 验证 **描述**: 与selectors关键字一起,minUniqueItems`关键字值定义了一个数组中唯一项目的最小数量

# maxUtf8ByteLength

类型: integer(整数) 目的: 验证 描述: maxUtf8ByteLength关键字值定义了以UTF-8字节.为单位的`字符串'值的最大长度

# minUtf8ByteLength

类型: 整数' **目的**: 验证 **描述**:minUtf8ByteLength关键字值定义了以UTF-8字节.为单位的字符串'值的最小长度

# selectors

  • 类型: 数组'. **目的**: 验证 **描述**:selectors关键字包含一个属性名称的数组,它定义了使一个对象唯一的属性组合. 默认情况下,JSON Schema根据对象的所有属性来确定数组中对象的唯一性. 当selectors`被定义时,只有指定的属性被用来确定唯一性.

# 验证器实现示例

JSON Schema (opens new window)是一个允许你注释和验证JSON文档的词汇表.JSON Schema的作者并没有提供具体的工具来验证JSON Schema的文档,相反JSON Schema定义了工具应该如何验证JSON Schema的文档.

有多种付费的和开放的-源码的应用程序和库支持JSON Schema,参见https://json-schema.org/implementations.html (opens new window),以了解已知的实现列表.

以下参考验证器的实现提供了一些例子,说明如何使用特定的语言-开源库来验证Amazon产品类型定义Meta-Schema实例的自定义词汇.不需要使用这些特定的库或实例实现.亚马逊不为第三方JSON Schema库提供技术支持,这些只是作为例子提供.

# .NET

对于C# .NET应用,Newtonsoft Json.NET Schema (opens new window)库支持JSON Schema Draft 2019-09和自定义词汇. 以下例子演示了如何利用Newtonsoft Json.NET Schema (opens new window)库来验证具有Amazon产品类型定义Meta-Schema实例的有效载荷

Example Validator Implementation for .NET (opens new window)

# Java

对于Java应用程序,networknt/json-schema-validator (opens new window)库支持JSON Schema Draft 2019-09和自定义词汇. 以下例子演示了如何利用[networknt/json-schema-validator](https //github.com/networknt/json-schema-validator)库来验证带有Amazon产品类型定义Meta-Schema.实例的有效载荷

Example Validator Implementation for Java (opens new window)

# JavaScript

对于JavaScript应用程序(包括Node.js),[hyperjump-io/json-schema-validator](https //github.com/hyperjump-io/json-schema-validator)库支持JSON Schema Draft 2019-09和自定义词汇. 下面的例子演示了如何利用[hyperjump-io/json-schema-validator](https //github.com/hyperjump-io/json-schema-validator)库来验证具有Amazon产品类型定义Meta-Schema.实例的有效载荷

Example Validator Implementation for JavaScript (opens new window)