动态 Jolt 规范用于处理 JSON 内的嵌套数组是否具有单个元素、多个元素或嵌套数组不存在

2023-12-21

动态 Jolt 规范用于处理 JSON 内的子数组是否包含单个元素、多个元素或子数组不存在

如果我们在 JSON 中嵌套数组有多个元素,那么我的 jolt 规范工作得很好,但是如果他们发送没有嵌套数组或有 1 个元素的嵌套数组的 JSON,则它不起作用

Input 1

(ArticleMainMaterial 数组中的多个元素) :

[
  {
    "payload": {
      "header": {
        "messageType": "ArticleSeason"
      },
      "articleSeason": {
        "groupModelNumber": "JTT47",
        "groupArticleNumber": "IT4876",
        "seasonCode": "20251",
        "salesLine": "551",
        "articleMainMaterial": [
          {
            "materialComposition": "95% CO/5% EL",
            "mainMaterialFlag": true
          },
          {
            "materialComposition": "99% CO/10% PP",
            "mainMaterialFlag": true
          }
        ]
      }
    }
  }
]

Input 2

(ArticleMainMaterial 数组中的一个元素) :

[
  {
    "payload": {
      "header": {
        "messageType": "ArticleSeason"
      },
      "articleSeason": {
        "groupModelNumber": "JTT47",
        "groupArticleNumber": "IT4876",
        "seasonCode": "20251",
        "salesLine": "551",
        "articleMainMaterial": [
          {
            "materialComposition": "95% CO/5% EL",
            "mainMaterialFlag": true
          }
        ]
      }
    }
  }
]

Input 3

(没有文章MainMaterial 数组) :

[
  {
    "payload": {
      "header": {
        "messageType": "ArticleSeason"
      },
      "articleSeason": {
        "groupModelNumber": "JTT47",
        "groupArticleNumber": "IT4876",
        "seasonCode": "20251",
        "salesLine": "551"
      }
    }
  }
]

当前震动规格我正在使用:

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "payload": {
          "articleSeason": {
            "groupArticleNumber": "groupArticleNumber",
            "seasonCode": "seasonCode",
            "groupModelNumber": "groupModelNumber",
            "salesLine": "salesLine",
            "articleMainMaterial": {
              "*": {
                "materialComposition": "materialComposition"
              }
            }
          }
        }
      }
    }
  }, {
    "operation": "shift",
    "spec": {
      "materialComposition": {
        "*": {
          "@(2,groupArticleNumber)": "[#2].groupArticleNumber",
          "@": "[#2].&2",
          "@(2,seasonCode)": "[#2].seasonCode",
          "@(2,groupModelNumber)": "[#2].groupModelNumber",
          "@(2,salesLine)": "[#2].salesLine"
        }
      }
    }
  }
]

预期输出 :

如果有一个元素,就应该有一条记录。如果没有articleMainMaterial数组,则materialComposition应为NULL

[
  {
    "groupArticleNumber": "IT4876",
    "materialComposition": "95% CO/5% EL",
    "seasonCode": "20251",
    "groupModelNumber": "JTT47",
    "salesLine": "551"
  },
  {
    "groupArticleNumber": "IT4876",
    "materialComposition": "99% CO/10% PP",
    "seasonCode": "20251",
    "groupModelNumber": "JTT47",
    "salesLine": "551"
  }
]

None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

动态 Jolt 规范用于处理 JSON 内的嵌套数组是否具有单个元素、多个元素或嵌套数组不存在 的相关文章

随机推荐