问题标签 [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 回答
369 浏览

json - 如何在 JsonSchema 中定义单个唯一的键值对?

Schema 应该只允许以下星座:{"status":"nok"}. 键必须始终是“状态”,值应该允许“ok”、“nok”、“inProgress”没有不同或额外的对象,...应该允许

我试过这个:

这行得通,但是这个方案允许我可以发送相同的键/值对两次{"status":"nok","status":"nok"} ,如果没有我正在使用的这个“对象”容器也能工作,我也会很高兴,因为这样可以减少开销。也许有人知道解决方案,谢谢

0 投票
3 回答
45945 浏览

python - 将 JSON 模式转换为 python 类

是否有用于将 JSON 模式转换为 python 类定义的 python 库,类似于 jsonschema2pojo - https://github.com/joelittlejohn/jsonschema2pojo - 用于 Java?

0 投票
0 回答
1299 浏览

java - 如何从 java 生成带有描述的 jsonschema,最好使用 javadoc 类型

我使用jackson类从java生成jsonschema:

这很好用,但我想知道如何添加描述,例如从 javadoc 类型。

0 投票
2 回答
3009 浏览

javascript - 如何从 JSON Schema 默认构造 JavaScript 对象?

我已经开始在我的 C# 代码中使用 Newtonsoft.Json.Schema.JsonSchemaGenerator 以及各种属性来帮助保持我的客户端脚本干燥。我想做的是根据服务器的模式创建一个默认的初始化对象客户端。例如,当用户单击“New Foo”以将新条目添加到表中时,这将很有用。

显然,我可以对其进行编码以迭代 .Properties 并构建新对象,这就是我目前正在做的事情。但是,我宁愿避免重新发明任何轮子。

除了我还没有意识到我需要的其他漂亮东西之外,是否有任何用于处理 JSON 模式的 JS 库?


2013 年 1 月 29 日更新

有些人试图回答我的问题并且已经偏离了基础,因此收到了来自 SO 社区的一些负面反馈。所以让我试着澄清一下。这是挑战:

  • 在 JS 客户端脚本中,您有一个表示另一个对象的 JSON Schema的对象。比方说,这来自服务器通过 JSON.NET 并且是 C# 类的表示。

  • 现在,在 JS 客户端脚本中,基于 JSON Schema创建这些对象之一。对象中的每个字段/属性都必须根据架构默认初始化,包括所有包含的对象!

  • 奖励:使用 MVVM(例如 Knockout)将此新对象绑定到 UI。更改某些字段以响应用户输入。

  • 将此新对象发送到服务器。服务器端代码会将其添加到集合、数据库表等中。(是的,对象将使用 Ajax 作为 JSON 发送——我们可以假设)

  • 没有重复!定义类的唯一位置是服务器端代码(在我的示例中为 C#)。这包括所有元数据,例如默认值、描述文本、有效范围等。

0 投票
1 回答
2651 浏览

java - 使用 java 的 JSON 模式验证 - ref

我正在尝试使用(https://github.com/fge/json-schema-validator)模式验证器验证我的 JSON。

  1. 您建议使用杰克逊模式生成来生成 JSON 模式还是有更好的方法?

  2. 我有一个名为(Location)的对象,其中包含对象列表(BaseObject)。我为这样的位置创建了一个架构,其中包含 BaseObject 的 $ref。但验证失败并显示错误消息 - ["": domain: validation; 关键字:属性;消息:未找到所需的属性;缺失:["id","re​​fName"]; 必需:["id","re​​fName"]]

我使用 refs 的方式有错误吗?

Location.json - 架构

baseobject.json - 架构

0 投票
2 回答
715 浏览

backbone.js - 哪个前端框架用于消耗使用 json 模式描述的资源?

鉴于我有一个 API,它通过 json-schema 描述它的不同资源,如下所示: https ://github.com/salesking/sk_api_schema/blob/master/json/v1.0/address.json

是否有可以将 json-schema 用作(或将其转换为)模型的前端 javascript 框架?应该可以根据 json 模式验证模型,并且应该能够处理不同 json 模式模型之间的引用。

我一直在看 ember.js,但似乎即使我编写了一些代码来将 json 模式转换为 ember 模型,要让 ember.js 模型的验证工作仍然相去甚远。正确的?

0 投票
1 回答
1644 浏览

json - nodejs json-schema 无法读取架构

我有一个快递应用程序,它有一个 post 方法(post 是 json 类型):

server.js(简化版):

validator.js 包含对 json 的验证:

schema.json:

对于我使用 curl 的输入:

输出如下:

0 投票
4 回答
4222 浏览

jsonschema - JSON 模式类型

我想使用 JSON Schema 并允许新类型(目前有字符串数字数组对象 boolean 和 null)

例如我想为联系人添加一个类型

甚至可以在 JSON 中使用吗?有什么建议么?

谢谢

0 投票
2 回答
3252 浏览

json.net - JSON.Net 模式验证没有标记其他属性?

我正在使用 NewtonSoft.JSON 进行一些 JSON 模式验证。我看到如果 JSON 具有比架构中指定的数据更多的数据,则验证将返回“ISValid=true”。代码和数据如下。该模式没有名为“city”的属性的属性定义,传入的 JSON 数据具有属性和值。我希望下面的 IsValid 调用返回 false,但它返回 true。架构或类上是否有设置,例如“强制执行严格”或类似的设置,将强制数据包含架构中指定的所有数据且仅包含架构中指定的数据?

0 投票
1 回答
204 浏览

javascript - JSON array requires mandatory field

I'm using the following JSON schema which defines a list of users. I use the schema to register multiple users at a time.

I would like to know if there is a way to specify that each object in the JSON contains at least one property for registration?

Here is my schema:

My input request to register two users:

Here I'm sending two user's information and each user object request contains at least one property. If I add a third object without any properties I want to restrict the request in the JSON itself saying at least one field is required on each user object. I'm looking for an attribute similar to pattern or optional .