【问题标题】:Is there an online tool to generate the JSON Spec for a complex JSON payload?是否有在线工具可以为复杂的 JSON 有效负载生成 JSON 规范?
【发布时间】:2021-03-13 23:57:10
【问题描述】:

我有一个带有嵌套数组的复杂 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"
    }
  }
]

感谢任何帮助。谢谢。

【问题讨论】:

    标签: jolt tibco-business-works


    【解决方案1】:

    要从 JSON 字符串中静默过滤 BusinessWorks 未知的字段(这意味着它们未在 BusinessWorks 使用的 XSD 中定义),您可以使用 BW 6.6.1 中引入的“忽略附加 JSON 字段”选项。

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

    添加了支持以在处理架构时忽略其他 JSON 字段

    对于您问题的另一部分,您可以使用以下 Studio 功能: .右键单击“架构”文件夹 .选择“新闻 -> JSON 负载中的 XML 模式文件”

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

    【讨论】:

    • 谢谢伊曼纽尔。是的,TIBCO 支持为我提供了该更新,但不幸的是,我的公司在 TIBCO BW 版本 6.6.0 上上线,我希望在我们获得 BW 6.6.1 之前找到一些解决方案
    猜你喜欢
    • 2018-06-10
    • 2020-11-14
    • 2021-01-19
    • 1970-01-01
    • 2021-07-23
    • 1970-01-01
    • 2020-03-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多