首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >json-schema中的自由子对象

json-schema中的自由子对象
EN

Stack Overflow用户
提问于 2017-01-12 14:05:34
回答 1查看 923关注 0票数 0

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

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

代码语言:javascript
复制
{
    "foo": "bar"
    "bar": "baz"
}

处理的结果是

代码语言:javascript
复制
{
    "original": {
        "foo": "bar",
        "bar": "baz"
    }
    "processed": {
        "stdFieldA": "bar",
        "stdFieldB": "baz"
    }
}

假设对于来自不同来源的每个输入,我们最终都有stdFieldAstdFieldB。因此我们拥有的响应模式对象

代码语言:javascript
复制
type: object
properties:
    processed:
        type: object
        properties:
            stdFieldA:
                type: string
            stdFieldB:
                type: string

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

代码语言:javascript
复制
{
    "alpha": "lorem",
    "beta": "ipsum"
}

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-12 20:14:11

不带propertiestype: object描述了一个自由格式对象。因此,响应模式可以是:

代码语言:javascript
复制
type: object
properties:
    original:
        type: object    # <----------
    processed:
        type: object
        properties:
            stdFieldA:
                type: string
            stdFieldB:
                type: string
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41606152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档