当前位置: 首页 > 知识库问答 >
问题:

json-schema中的自由格式子对象

倪鹏
2023-03-14

我正在用swagger.io起草一个API文档,并试图使其适合我们的用例。系统将接收和处理来自所有来源的数据,每个来源都有不同的字段集。

虽然处理的产品共享相同的模式,但我们也希望在模式中包含输入以供参考。例如,给定

{
    "foo": "bar"
    "bar": "baz"
}
{
    "original": {
        "foo": "bar",
        "bar": "baz"
    }
    "processed": {
        "stdFieldA": "bar",
        "stdFieldB": "baz"
    }
}

假设对于来自不同来源的每个输入,我们最终都有stdfieldastdfieldb。所以我们的响应模式对象

type: object
properties:
    processed:
        type: object
        properties:
            stdFieldA:
                type: string
            stdFieldB:
                type: string

既然我们已经定义了处理子对象,那么我们是否可以为原始输入定义一个自由格式的对象,以便来自另一个源的对象是有效的

{
    "alpha": "lorem",
    "beta": "ipsum"
}

如果我没有得到任何答案,我的解决方法是将原始输入存储为字符串(将原始输入转换为JSON字符串)。

共有1个答案

范文昌
2023-03-14

类型:对象没有属性描述自由格式对象。因此响应模式可以是:

type: object
properties:
    original:
        type: object    # <----------
    processed:
        type: object
        properties:
            stdFieldA:
                type: string
            stdFieldB:
                type: string
 类似资料:
  • 问题内容: 我试图通过构建验证两种不同对象类型的架构来弄清oneOf的工作原理。例如,一个人(名字,姓氏,运动)和车辆(类型,费用)。 以下是一些示例对象: 问题是我做错了什么以及如何解决。这是模式: 当我尝试在此解析器中验证它时: 我收到以下错误: 问题答案: 试试这个:

  • 我不知道如何正确设置超架构以使用json架构验证器。我使用的是json模式验证器的java版本,版本是2.2.5。 我的模式是: 我的 json 对象是: 现在,当我将模式加载到并打算开始验证时,我得到以下警告: 除了$Schema字段之外,还有什么要配置以使用超模式的吗?

  • 主要内容:什么是 JSON Schema,定义 Schema,使用 JSON Schema 进行验证JSON Schema 是一个描述和验证 JSON 数据结构的强大工具,我们可以把 JSON Schema 看作是一种规范,这个规范中规定了 JSON 数据的结构、键的命名、值的类型等等,通过规范可以校验指定的 JSON 数据,保证数据的准确。所以在接口调试过程中,经常使用 JSON Schema 来校验接口数据的准确性。 什么是 JSON Schema JSON Schema 译为“JSON模式

  • 问题内容: 我的json响应如下所示: “ CreatedOn”日期是这种格式:’/ Date(1390272893353)/’ 当我将此结果绑定到html表时,日期无法格式化: 仍然给我: /日期(1390272893353)/ 我不想在服务器端更改任何代码(不要修改json字符串),格式化此日期的最佳方法是什么? 问题答案: 一种选择是编写另一个过滤器并将其放入链中。例如: 基本上,它使用正则

  • JSON Schema 用于描述JSON数据的结构和类型。如同DTD与XML的关系。 本实现用于使用 PHP 调用 JSON Schema 对 JSON 数据进行验证。 生成 JSON Schema 由JSON生成一个全格式的Schema,方便编辑修改(勿随便直接使用在实践中)。 $value = new stdClass();$value->name = 'a name';$value->age

  • json-schema-editor An intuitive editor for JSON schema which provides a tree view to present structure of schema and a property inspector to edit the properties of schema element.Develop with Vue.js 2