是否有在线工具可以为复杂的 JSON 负载生成 JSON 规范?

Is there an online tool to generate the JSON Spec for a complex JSON payload?

我有一个带有嵌套数组的复杂 JSON 负载。我需要创建一个 JSON 规范来输出与今天相同的有效负载,这样如果发送系统添加了任何新字段,我希望它们被删除。 我需要此功能,因为在 TIBCO 的 Business Works 中,我需要根据我为此 JSON 有效负载生成的 XSD 解析此输出。不幸的是,如果新字段到达 JSON 有效负载,则使用 XSD 转换为 XML 会失败,因为它会进行严格比较,目前在 Business Works 中没有绕过它的选项.

我的例子JSON是

{
  "items": [
    {
      "id": "000fd75c2b2fd30cadaae94c532d82f2408d95454996941002d8c8088157d03b",
      "sourceIdentifier": {
        "dataPartitionId": "877307a0-b5f5-4a01-9d4b-9fead6bcf788",
        "id": "103357"
      },
      "birthDate": "YYYY-MM-DD",
      "gender": {
        "codings": [
          {
            "code": "248153007",
            "display": "Male",
            "system": "2.16.840.1.113883.6.96"
          }
        ],
        "sourceCodings": [
          {
            "code": "248153007",
            "display": "Male",
            "system": "2.16.840.1.113883.6.96"
          }
        ],
        "text": "Male"
      }
    }
  ],
  "totalResults": 1,
  "firstLink": "xyz",
  "lastLink": "abc"
}

我想要一个 JOLT 规范,它向下并指定上述有效负载的每个子元素。 我在下面有这个简单的规范,但是如果发送应用程序添加了一个新字段,它也会出现在输出中,这对我来说是个问题。

[
  {
    "operation": "shift",
    "spec": {
      "items": "items"
    }
  }
]

感谢任何帮助。谢谢

要从 JSON 字符串中过滤 BusinessWorks 未知的字段(这意味着它们未在 BusinessWorks 使用的 XSD 中定义),您可以使用 'ignore additional JSON fields' 选项在 BW 6.6.1 中引入。

请参阅下面的发行说明摘录:

添加支持以在处理模式时忽略其他 JSON 字段

对于问题的另一部分,您可以使用以下 Studio 功能: .右键单击 'Schema' 文件夹 . Select'News -> XML Schema File from JSON Payload'

但是这种方法有一些局限性,我认为它不能管理数组。