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

具有动态值和标头的Jolt Transform JSON Spec映射

冯渝
2023-03-14

我需要在输入 JSON 下方转换以输出 JSON,但不确定如何为该输出编写规范。比较 JOLT 转换中的归档值

输入:

{
  "response": {
    "body": {
      "variables": {
        "swapOfferResult": {
          "value": {
            "EcomResponse": {
              "ConfigurationsResponse": {
                "productConfigurations": [
                  {
                    "productConfiguration": {
                      "productSpecification": {
                        "description": "Testing Sample 1",
                        "id": "1776911"
                      },
                      "productOffering": {
                        "description": "First sample description",
                        "name": "First sample",
                        "id": "1777341"
                      }
                    }
                  },
                  {
                    "productConfiguration": {
                      "productSpecification": {
                        "description": "Testing Sample 2",
                        "id": "247541"
                      },
                      "productOffering": {
                        "description": "Second sample description",
                        "name": "second sample",
                        "id": "735501"
                      }
                    }
                  },
                  {
                    "productConfiguration": {
                      "productSpecification": {
                        "description": "Testing Sample 3",
                        "id": "280801"
                      },
                      "productOffering": {
                        "description": "Third sample description",
                        "name": "Third sample",
                        "id": "735501"
                      }
                    }
                  }
                ]
              }
            }
          }
        }
      }
    }
  }
}

预期输出:

在标题部分需要有名称、描述和id。任何建议都将不胜感激。在标题部分需要有名称、描述和id。任何建议都将不胜感激。

{
  "body": [
    {
      "id": "1777341",
      "description": "First sample description",
      "name": "First sample",
      "products": [
        {
          "id": "1776911",
          "description": "Testing Sample 1"
        }
      ]
    },
    {
      "id": "735501",
      "description": "second sample description",
      "name": "second sample",
      "products": [
        {
          "id": "247541",
          "description": "Testing Sample 2"
        },
        {
          "id": "280801",
          "description": "Testing Sample 3"
        }
      ]
    }
  ]
}

共有1个答案

楚望
2023-03-14

您可以使用以下连续规格

json prettyprint-override">[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "*": {
          "*": {
            "*": {
              "*": {
                "*": {
                  "*": {
                    "*": {
                      "*": {
                        "*": {
                          "productSpecification": {
                            "*": "@(2,productOffering.id).products.[&3].&",
                            "@(1,productOffering.description)": "@(2,productOffering.id).description",
                            "@(1,productOffering.name)": "@(2,productOffering.id).name"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "*": {
        "$": "&1.id",
        "*": "&1.&"
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "*": ""
    }
  },
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "*": "=recursivelySquashNulls"
    }
  },
  {
    "operation": "cardinality",
    "spec": {
      "*": {
        "products": "MANY",
        "*": "ONE"
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "*": "body[]"
    }
  }
]
 类似资料:
  • 我需要在输入 JSON 下方转换以输出 JSON,但不确定如何为该输出编写规范。比较 JOLT 转换中的归档值 以下是输入内容: 预期输出:我需要在输入JSON下方转换为输出JSON,并且不确定如何为该输出编写规范。在JOLT转换中比较文件值。

  • 对于使用Java Spring RestTemplate完成的HTTP请求,我得到一个JSON键值对对象的响应,该对象带有动态键,如下所示。 回应: 如何将响应对象映射到POJO或映射? 我使用RestTemplate如下所示。

  • 我一直在阅读如何正确保护支持动态cors头的API。不确定我是否完全理解任何子域的通配符问题。 说明:我的API同时支持HTTP和HTTPS,前面是清漆 使用与发出请求的实际来源相比是否有缺点? 通过添加,我可以获得哪些安全好处?当我读到缓存中毒时,我读到了对它们的需求,但不能说我理解这里的含义

  • 因此,通过对Stackoverflow的研究,特别是本主题,我已经确定在一个正常工作的getter/setter设置中嵌入了一个JSON对象字典。当我调用API时,属性的传统getter/setter工作得很好,但这是因为我知道属性的名称。如何使其适用于名为的对象的未知属性,以及该对象的格式是什么()? API响应: 我的POJO: 如何设置getter/setter和正确的字典格式(看起来可能是

  • 我正在努力使用swagger的语法来描述响应类型。我试图建模的是一个带有动态键和值的哈希映射。这是允许本地化所必需的。语言可能不同,但应始终提供英语。 在JSON中,响应如下所示: 我的第一次尝试是这样的,但我不知道如何为这个名字写部分。AdditionalProperties似乎是一把钥匙,但我无法把头缠在它身上。另外,对英语文本的要求对我来说是一个谜,在这个语法中,这个例子似乎也不像预期的那样

  • 问题内容: 在我的网站上,我正在创建发票功能。发票具有静态信息:公司信息和收件人信息。但是它也具有动态信息:小时数,描述,总金额等。客户可以使用上面的动态信息添加多行。 现在我的问题是,如何将其实现到数据库中? 目前,我有一个名为“发票”的表,其中的列将包含上面的所有信息。但是通过这种方式,行将具有不必要的信息,例如公司和收货人信息,而实际上每个发票只需要插入一次即可。 你们认为我将如何解决这个问