问题标签 [ajv]

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 投票
2 回答
751 浏览

javascript - chrome 打包应用程序中的 JSON 模式验证

我想在我的 chrome 应用程序中使用 AJV JSON 模式验证器但我得到了错误

EvalError:拒绝将字符串评估为 JavaScript,因为 'unsafe-eval' 不是以下内容安全策略指令中允许的脚本源:“default-src 'self' blob: filesystem: chrome-extension-resource:”。

它发生在执行期间

据我了解,AJV 使用动态代码生成和 eval() 来验证CSP禁止的 JSON 。

有没有办法在 chrome 应用程序中使用 AJV?

或者是否有其他一些可以在 chrome 应用程序中使用的 JSON 模式验证器?

0 投票
1 回答
881 浏览

json - 使用 AJV 的 JSON 验证

我有以下 JSON 验证

我尝试使用上述验证字符串验证以下 JSON 字符串。

在这里,我收到消息“data.profession 应该与 oneOf 中的一个模式完全匹配”,尽管我在数据中只提供了一个具有正确实例变量等的实例。你能告诉我我在这里做错了什么吗?顺便说一下,我使用了 AJV 验证器。

谢谢你。

0 投票
1 回答
9762 浏览

arrays - 如何使用ajv验证空字符串数组?

我用ajv进行json验证。我需要验证字符串数组。我知道哪些元素可以放在那里,所以我做了适当的“枚举”。但在某些情况下,枚举可以为空,数组也可以为空。这是一个简单的测试:

结果我得到:

我可以将任何虚构的字符串添加到枚举数组中,但是是否可以以合法的方式验证这种情况?添加 'minItems=0' 限制没有帮助。

我不能使用空枚举真的是json模式草案限制吗?

UPD:我希望在一般情况下验证代码:

我希望在特殊情况下验证代码:

0 投票
1 回答
623 浏览

javascript - 使用 Dojo 时无法识别外部库 (AJV)

我正在尝试使用另一个 json 模式验证器(AJV),当我使用像这样的纯 java 脚本时,提供的示例代码在 JSFiddle 中运行良好

AJV 测试 - 没有库的 JSFiddle(纯 javascript)

但是当我尝试将与上面相同的代码与 Dojo 结合使用时

AJV 测试 - 使用 Dojo 1.10.4 的 JSFiddle

我收到这个错误

fiddle.jshell.net/pbq2yjxy/18/show/:50 Uncaught ReferenceError: Ajv is not defined

如何在 Dojo 中使用 AJV 库?

0 投票
1 回答
1520 浏览

jsonschema - json 模式中的 SWITCH(v5 提议)

我是关于 npm ajv 的新手

我有一个问题:对象 json 中有多少个“开关”?例子:

我在此链接中使用上面的架构进行测试

它只是检查结束开关。请帮我!谢谢!

0 投票
1 回答
2451 浏览

javascript - 如何创建字符串或 null 类型的 JSON Schema 属性

我的架构看起来像这样:

我想被允许设置字符串或空值,我该怎么做?

0 投票
1 回答
3694 浏览

node.js - 为什么 Ajv 在编译期间无法解析引用?

以下是我尝试编译并用于验证的 JSON 模式示例。为此,我使用了“ajv”npm 模块

这是我正在运行的代码...

当我运行此代码时,我收到以下异常..

有没有其他人遇到过这种问题?知道我可能做错了什么吗?

0 投票
1 回答
199 浏览

jsonschema - 一个对象中的键必须与另一个对象中的键相同

初始设定

你有一个用于保存配置的 JavaScript 对象,它可以被插件扩展,每个插件在配置对象上都有一个版本和一个属性。

问题

如何在 JSON 模式中表示,每个键CONFIGS.plugins必须在CONFIGS对象的根上具有相应的属性,反之亦然。

我的失败尝试

ajv 是 4.8.2,打印“有效!” 但必须是“无效”

0 投票
1 回答
3269 浏览

json - 错误:无法解析来自 id 的引用 error.json #

我不明白如何正确引用其他架构。我使用了 ajv,并且有接下来的两个模式

第一个架构不正确-email.json:

第二个模式error.json:

运行测试后我得到这个错误

Error: can't resolve reference error.json from id # Mine 验证方法:

我需要参考本地架构 error.json,而不是远程服务器等。请告诉我,我可以在此架构中添加 id 和 $ref 以使用 ajv 正确解析

0 投票
2 回答
536 浏览

javascript - 需要更好的 JSON Schema 来验证稀疏矩阵数据对象

我需要验证 JavaScript 中的复杂对象。

对象基于字典:

对象存储矩阵对(通常不完整):

我使用 AJV 验证器制作验证模式。

架构要求:

  1. 第一级对象仅包含字典中的属性。
  2. 第二级对象仅包含字典中的属性。
  3. 数据是一个字符串

生成架构:

此模式运行良好,但问题在于性能。当字典包含 200 个元素时,编译此模式需要 10 秒(验证快,编译慢)。此外,它不时抛出内存异常。是否可以制作更好的验证模式?