问题标签 [jsonschema]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
58355 浏览

json - JSON Schema中的“必需”与“可选”有什么区别

有时,我注意到以下 JSON 模式:

对比

那么上面例子中的requiredvs有什么区别呢?optional

0 投票
3 回答
14001 浏览

json - 您将如何为任意键设计 JSON Schema?

我有以下 JSON 输出数据:

输出很简单:与整数值关联的 key[1] 名称。如果键名没有改变,我可以很容易地想出类似于这样的 JSON Schema:

由于键名本身是未知的并且不断变化,因此我必须为其设计架构。我唯一知道的是,密钥string不超过 100 个字符。如何为lable_name_xxx不断变化的键定义 JSON 模式。

[1] 不确定我是否使用了正确的术语

0 投票
3 回答
82245 浏览

json - 使用 JSON Schema 指定值可以是字符串或 null

希望这对其他人来说并不明显,因为我发现https://json-schema.org/上的文档缺乏更详细的信息。我得到一个 JSON 块,其中一些属性可以nullstring. 如何在 JSON Schema 中(由 Json.NET 的JsonSchema.Parse方法解析)指定一个值可以是 typenull或 type string

是否有一些简单的东西我错过了,比如为类型提供一个数组?例如;

另外,有没有人有比 json-schema.org 更好的 JSON Schema 详细信息来源?在哪里可以找到更多示例?我不想阅读大文档/规范来找到可以在 10 行示例中轻松演示的内容。

0 投票
1 回答
3112 浏览

python - JSON 模式不针对有效数据进行验证(有效)

以下数据 + JSON 模式(使用具有相同数据的 JSON 模式生成器生成)应该可以正确验证。但是,我在这里收到验证错误。

验证基于有效性模块。

0 投票
1 回答
1662 浏览

json - json 模式中的对象重用和组合

我有一个看起来像这样的 json blob;

有没有办法可以一次定义对象的 1、2 和 3 并在架构中重用它们?这可以用 json 模式来完成吗?我想写它,就像我想它是 C# 等价的一样,其中编号的对象只定义一次,然后字母对象由它们组成。

编辑:为澄清起见,我正在尝试更正现有架构。模式定义了每个字母对象中的编号对象,即使它们都具有完全相同的定义。

0 投票
2 回答
367 浏览

json - “描述”是 JSON 模式中对象的有效“属性”吗?

假设我正在编写一个 JSON 模式。“类型”是“对象”。在对象的“属性”中包含名为“描述”的属性是否合法?我问是因为“描述”是 JSON 模式中的关键字。

示例:在此示例中,我为表示葡萄酒年份的 JSON 对象提供了一个简单的模式。我指定了四个属性:三个必需属性(房子、年份和葡萄品种)和一个可选属性,名为“description”。

0 投票
1 回答
35285 浏览

json - 了解 JSON Schema 草稿版本 4 中的“additionalProperties”关键字

规范链接:http: //json-schema.org/latest/json-schema-validation.html#anchor64

第 5.4.4.2 节指出:

针对这三个关键字成功验证对象实例取决于“additionalProperties”的值:如果其值为布尔值 true 或模式,则验证成功;...

第 5.4.4.3 节指出:

如果“additionalProperties”不存在,则可以认为它存在空模式作为值。

好的,所以如果“additionalProperties”不存在,它就会被视为存在空模式。如果它是一个模式(任何类型的),那么无论任何其他考虑,对象都会成功验证。

但这与第 5.4.4.5 节“示例”中的断言相矛盾,即给定实例无法针对给定模式进行验证(它没有为“additionalProperties”指定任何内容)。

有人可以解释我在哪里以及以什么方式误解了规范吗?

0 投票
1 回答
232 浏览

json - 需要帮助:Json Schema Design

我正在设计json方案。我在设计架构时遇到了一些问题。

这是问题所在。

我有一组组对象。我希望这个数组应该包含唯一的组对象。我想根据对象 ID(ex group.id)使它们独一无二

如果组数组不是唯一的(groups[0].id == groups[1].id),我只想根据组 ID 使其唯一,下面是我的Json结构。

0 投票
1 回答
585 浏览

json - 使用 fastxml 2.2.0 生成 json 模式 - 如何引用类型?

我正在使用 fasterxml json 框架版本 2.2.0 以便在我正在处理的应用程序的 API 的 json 中创建模式。

我的 API 类似于:https ://gist.github.com/nemo83/5555249

其中 Customer 和 Order 都引用了 Address。现在,当我尝试生成架构(https://github.com/FasterXML/jackson-module-jsonSchema)时,结果是:

{"type":"object","properties":{"address":{"type":"object","properties":{"addressLine2":{"type":"string"},"addressLine1": {"type":"string"}}},"customer":{"type":"object","properties":{"address":{"type":"object","properties":{"addressLine2 ":{"type":"string"},"addressLine1":{"type":"string"}}},"name":{"type":"string"}}}}}

如您所见,Adress 没有表示为类型,但 Customer 和 Order 在他们的描述中都将其展平。

有没有办法指示更快的xml模式生成来解决这个问题并利用“$ref”属性来正确引用地址对象?

0 投票
2 回答
56205 浏览

regex - 在 JSON 模式中使用 RegEx

尝试编写使用 RegEx 验证项目值的 JSON 模式。

有一个名为progBinaryName的项目,其值应符合此 RegEx 字符串"^[A-Za-z0-9 -_]+_Prog\\.(exe|EXE)$"

找不到任何实际解释在 JSON 模式中使用 RegEx 的教程或示例。

任何帮助/信息将不胜感激!

感谢:D

JSON 架构

错误:

警告!最好检查你的 JSON。

实例不是必需的类型 - http://json-schema.org/draft-03/hyper-schema#


架构是有效的 JSON,但不是有效的架构。


验证结果:失败