问题标签 [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 投票
1 回答
27996 浏览

json - 如何管理多个 JSON 模式文件?

我正在尝试使用来自 commonjs-utils 的 node.js + json-schema.js 验证我的 JSON API。仅单一验证很容易,但找不到正确的方法来管理多个模式文件以实现相互引用。

假设我有两个模型和两个 API。

每个模式都应该分成单独的文件并在线吗?或者我可以像下面这样组合成单个模式文件吗?如果可能,我如何引用本地架构?

0 投票
4 回答
7283 浏览

json - 与自定义 json 架构相关的一些问题

我对 json 很陌生。在定义我的 RESTful API 结果的格式(即 JSON)时,我觉得将它记录为我自己的JSON 模式会更容易。在写一篇的时候,我有几个问题:

  1. 在我的结果 JSON 中,我如何指定它确认的架构的 URI?--edit-- 是否使用$schema属性?
  2. JSON 模式版本控制是否有任何约定/指南?是否有一些我应该/可以在我的模式中定义为属性的属性?我看到JSON 模式本身没有定义版本,除了它的 URI 指定为 key 的值$schema
  3. 我可以将我的一个 BIG JSON 模式分解为多个较小的模式并将一个包含在另一个中吗?就像 C++ 中的 #include 一样,然后在我发送给用户的 JSON 中引用多个模式作为结果。
  4. 我可以为键“类型”定义自定义值吗?例如,我想像这样重用“日期”的定义:

[忽略这一行,这是为了使格式适用于以下 json ..]

而不是像这样在多个地方提供“日期”的属性:

根据规范中的5.1 类型,这是不可能的,但它似乎是一个基本的用例!

0 投票
1 回答
8644 浏览

json - common-js utils 中的 JSON Schema 验证是否支持引用?

common-js utils 中的 JSON Schema 验证是否支持引用?我不能用https://github.com/kriszyp/commonjs-utils/blob/master/json-schema.js做到这一点

我尝试了以下代码:

我可以在没有引用的情况下继续准备我的模式,但如果有可能知道它会很高兴。

0 投票
2 回答
943 浏览

javascript - “存储”一个 Mongoose 模式/模型(不是文档)以供将来使用

问题:我正在制作一个 Web 服务,允许开发人员“注册”他们的 Mongoose 模式——他们将在浏览器中创建 JSON 模式,然后将其 AJAX 传输到我的服务器。

所以我将使用提交的模式创建一个新的 Mongoose 模型,但现在我需要这个模式存在,即使我重新启动服务器。

我有类似的代码:

好的,所以这为我们创建了一个带有自定义模式的模型。

现在我的问题是,在我运行此代码后,创建一个模型,然后重新启动服务器,新的集合/模型将不存在 - 因为显然只有在保存文档时才会创建一个集合 - 我不想要要立即保存文档(因为我没有),只需创建一个集合。

问题:有没有办法用这个“固定”模式创建一个集合 - 以便将来插入的文档应该严格符合模式?我基本上是create table在寻找类似 SQL 的东西。

0 投票
1 回答
820 浏览

c# - 无效操作异常,序列中没有元素

我正在从 JSON.net 创建一个 JSONSchema,然后将其写出来。我得到一个

但是当我使用注释代码而不是通常的东西时。没有出现这样的异常。

1)是什么导致了这个异常?2)我会很高兴地使用第二种方法,但感觉不直观,它会打印出 JsonType 的整数值,用于 schema.Type 而不是(数组,整数,布尔等)

我该怎么做才能摆脱这种情况?

更新当has count = 0 的 " Properties" 属性 时发生异常。是。我已经对其进行了初始化,因此它不为空。最终,代码可能会也可能不会向其中添加元素。因此,计数可能保持为 0。JsonSchemaPropertiesDictionary<String,JsonSchema>

0 投票
1 回答
1604 浏览

c# - 如何将 $ref 添加到 JSONSchema?

我有一个 JSONSchema 将有一些项目。现在定义这些项目的模式需要在主模式中引用吗?

另请注意,我将在该项目中有多个项目。我在 api 中看不到这样做的方法。api 也不允许我添加自定义属性。我怎样才能做到这一点?我正在使用JSON.net

0 投票
2 回答
1817 浏览

javascript - 使用 JavaScript 进行 RelaxNG 或 XSD 模式验证

我想在客户端 JavaScript 中进行 RelaxNG(首选)或 XSD(如果必须)模式验证。有什么好的图书馆吗?谷歌找到了jsrelaxngvalidator,但我无法让它运行,而且它似乎没有维护。目标浏览器仅限 Firefox 和 Chrome。

0 投票
1 回答
1254 浏览

python - python数据结构验证使用Validator(或类似的东西)

我正在处理 json 文档形式的数据输入。这些文件需要有一定的格式,如果它们不合规,它们应该被忽略。我目前正在使用一个凌乱的“if thens”列表来检查 json 文档的格式。

我一直在尝试使用不同的 python json-schema 库,它工作正常,但我仍然能够提交带有未在模式中描述的键的文档,这对我来说毫无用处。

此示例不会产生异常,尽管我希望它:

我的问题是双重的:

  • 我是否忽略了架构定义中的某些内容?
  • 如果没有,是否有另一种轻量级的方法来解决这个问题?

谢谢,

周杰伦

0 投票
4 回答
39736 浏览

json - JSON Schema - 根据另一个字段的值指定字段

想知道模式草案 03 是否可以做到这一点。我已经让依赖项在其他地方工作,我认为可能只是需要对它们进行一些创造性的使用,以便使用它们来指定required某些字段的属性。

我目前的最佳尝试(不起作用)应该让您对我所追求的有所了解。我想要一个默认需要的值,当另一个字段具有特定值时是可选的。

0 投票
2 回答
235 浏览

javascript - 如果传递的是数组而不是对象,则 json-schema 通过验证

这是我在我们的应用程序中管理配置文件的架构:

和我的数据

和要测试的代码

嗯,验证没问题。为什么 ?是否有解决此类错误的解决方案?