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

如何定义模式任意JSON对象?

郭均
2023-03-14

我正在尝试使用OAS v2定义一个API,它将返回一个有效负载以及一些元数据。

换句话说,对API的响应将是:

{
  "metadata":[
   {
     "key" :"key1",
     "value": "value1"
   }
  ],
  "payload": {Valid JSON}
}

有效负载可以是任何内容,并且在不同的场景下会有所不同,唯一的限制是它将是有效的JSON格式。因此,现在,我想将其定义为一个JSON对象,而不定义字段级别的细节。

如何在OAS2/JSON模式中做到这一点?

提前谢谢。

共有1个答案

冀崇凛
2023-03-14

在这种情况下,可以使用空模式({})作为有效负载。

JSON模式依赖于有效的JSON值,如果您的响应是格式错误的JSON,则无法提供该值。

如果有效负载值格式错误,则整个响应将不是有效的JSON。

换句话说,这个问题不在JSON模式范围内,而是在响应解码器的范围内(在格式错误的响应体上应该失败)。

 类似资料:
  • 问题内容: 我有一个JSON模式 我要在children属性中表示的是,它是具有相同精确模式的对象数组。这是描述它的正确方法吗? 问题答案: 使用您需要参考的架构 参见此处:http : //json-schema.org/latest/json-schema-core.html#anchor30

  • 问题内容: 我如何/可以将json对象传递给webapi控制器(POST),并且 没有 类可将其映射到,而是将其作为任意内容来处理? 因此,如果我像这样从客户那里传递消息: 数据是这样的: 我的控制器将能够解析吗?下次数据可能与该签名不匹配(例如: 在我的控制器中,我尝试过: 和: 和(因为这实际上是与mongo数据库一起使用): 但是看起来对象映射器想要映射到字符串以外的其他东西… 问题答案:

  • 问题内容: 我有一个想要转换为Avro的JSON文档,并且需要为此指定一种模式。这是我要为其定义avro模式的JSON文档: 我可以为非复杂类型定义架构,但不能为复杂的“选项”字段定义架构: 谢谢您的帮助! 问题答案: 您需要使用Avro 复杂类型,尤其是数组和记录。然后将它们嵌套在一起: 另外,为了提高可读性,您可以将架构分为多个文件。

  • 问题内容: 我正在使用的其余服务响应类似于以下示例,这里仅包括3个字段,但还有更多内容: 我想为上述(草案04)编写一个JSON模式文件,该文件将明确指定: 但是,找不到任何文档或如何执行此操作的示例。 目前,我的JSON模式如下所示: 我应该如何处理的任何指针/示例。 问题答案: 我认为推荐的方法是Json-Schema web Example2中显示的方法。您需要使用一个枚举来“按值”选择架构