问题标签 [json-schema-validator]

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 投票
1 回答
2061 浏览

json - JSON 模式 - 外键 (FK) 验证

我有以下 JSON 模式:

模式 A:

模式 B

我试图弄清楚是否有一种方法可以运行基于带有外部链接/引用的 JSON Schema 的完整性检查之类的东西。例如:当我收到entityBId = 1 的对象 A 时,我想在链接 href 中声明的端点中获取运行 GET 的实体 B,并检查接收到的 id 中是否存在有效对象。它将像深度验证一样运行,并且在没有定义数据库模式的场景中很有用。

0 投票
2 回答
190 浏览

json - 对象架构定义数组中属性的必填字段

我有以下架构定义。库是必需的。可以有很多。所以在那个库对象中还有一些其他的属性是必需的。但是,尽管我使用以下代码,但它没有验证。我的意思是不需要书名。作者的标题是必需的。我该如何解决这个问题?

json输入

预期的 json 输入

0 投票
1 回答
6639 浏览

jsonschema - 从外部 JSON 模式导入所有定义

我一直在尝试使用JSON 指针来引用和重用JSON 模式

按照示例,我能够引用在另一个 JSON 模式中声明的特定属性,并且一切都按预期进行,但是我还没有找到一种方法来扩展基本 JSON 模式与另一个基本模式的定义,而无需显式引用每一个属性。

似乎这将是有用的,但我还没有发现迹象表明它可能与否。

想象一下基本模式things

如果我想要一个更具体的person模式来重用thing我可以做的两个属性:

但是,我发现这种方法存在两个问题:

  1. 一旦更新了超定义,依赖的模式也必须更新
  2. 手动维护所有这些引用变得繁琐/冗长
  3. 规则(如required: name)不是引用定义的一部分

有没有办法通过使用单个全局引用来获得以下有效的 JSON 模式?

我尝试$ref在架构的根目录中包含,如下所示:

这具有继承thing属性但忽略所有其他属性的效果:

0 投票
1 回答
2316 浏览

json - JSON 模式重复属性

我对在模式中复制键有疑问。这是示例:

main.schema.json

baseResource.json

什么类型的值适合这个?值应该只是布尔值(根据主模式)或者可以是布尔值或字符串(引用正确的基本资源)。我正在使用 JSON 验证器,它不允许 value 为布尔值,我在 JSON specyfication 中搜索了很多,但没有关于它的信息。

0 投票
2 回答
27520 浏览

java - Spring REST API 中的 Json 模式验证

我正在使用 Spring Boot 和 [jackson-module-jsonSchema] ( https://github.com/FasterXML/jackson-module-jsonSchema ) 构建 REST API 以生成 JSON 模式。我正在寻找根据为公开资源定义的已定义 JSON 模式验证到达我的 API 端点(Spring 控制器)的请求 JSON 有效负载的最佳方法,验证包括检查所需字段、格式、最小值和最大值等。一切我们可以根据模式进行验证。

似乎杰克逊 json 模式模块对模式生成很有用,但对验证没有用,对吗?关于如何实现我想要做的任何建议?

0 投票
1 回答
2063 浏览

rest-assured - restAssured json 模式验证 - 读取 json 模式文件断言失败

我正在使用 restAssured 进行我的 json 模式验证。下面是我的断言脚本: String JsonString = response.asString(); Assert.assertEquals(JsonString,matchesJsonSchemaInClasspath("quotesschema.json"));

我已将我的 quotesschema.json 文件放在 project/bin 文件夹中。

当我运行我的测试脚本时,断言失败并显示以下消息 java.lang.AssertionError: expected [] but found [actual api response]

此外,我通过http://json-schema-validator.herokuapp.com/模式验证器针对 api 响应验证了我的模式。

不确定它是否在 .son 文件中读取我的架构。下面是我的架构。

0 投票
1 回答
2560 浏览

jsonschema - JSONSchema v4 - 解析架构引用时出错 - 定义和参考

尝试使用http://www.jsonschemavalidator.net/验证以下架构时,

我收到以下错误:

我无法弄清楚问题是什么。我多次扫描文档并查看教程,但我没有任何线索。

0 投票
1 回答
369 浏览

json - 依赖项在 jsonschema 验证中不起作用

下面是我的与 jsonschema 4.0 兼容的 json 模式。

dependencies在那里不起作用,即每当提供信用卡详细信息时,生成的表格也应要求提供 billing_address。虽然字段显示正确,但填写 credit_card 详细信息时不会显示验证错误。 在此处输入图像描述

我们已启用验证interaction 是我做错了还是存在某些版本问题。请注意,我现在还没有指定 $schema。

有什么帮助吗?

0 投票
1 回答
1473 浏览

json - 使用 jsonSchema 在其他选择框的基础上加载选择框选项

我正在使用 jsonschema 来生成我们的表单并验证这些。

下面是一个示例 json:

和样本输出:

在此处输入图像描述

在输出表单中,我在其选择框中突出显示了子类别选项,应根据所选类别加载。

例如,如果我选择batch子类别选项 a、b、c 应显示在子类别的选择框中,如果我选择Azure app service子类别选项 d、e、f 应显示在子类别的选择框中。

我正在尝试dependencies但徒劳无功。另外,我尝试通过使用watch和来完成此操作,如此enumSource所述

任何帮助都是值得的。

谢谢!

0 投票
1 回答
545 浏览

json - 定义关键字的 json 模式使用

任何人都可以帮助我使用 json 模式中的定义。我浏览了他们的网站 ,并没有得到太多信息。

任何帮助都是值得的。