【问题标题】:Patch data with DataWeave使用 DataWeave 修补数据
【发布时间】:2021-02-24 02:09:22
【问题描述】:

我的目标是合并以下 JSON:

{
    lastname:"C.",
    firstname:"Sebastien"
}

{
    lastname:"Coucou",
    age:"N/A"
}

这是我想要的结果:

{
  "lastname": "Coucou",
  "firstname": "Sebastien",
  "age": "N/A"
}

如果键存在我想更新值,如果键不存在我想添加它。

【问题讨论】:

    标签: dataweave


    【解决方案1】:

    最简单的方法似乎是使用Objects模块中的mergeWith()函数:

    %dw 2.0
    import mergeWith from dw::core::Objects
    output application/json
    
    var data={
        lastname:"C.",
        firstname:"Sebastien"
    }
    
    var patch ={
        lastname:"Coucou",
        age:"N/A"
    }
    ---
    patch mergeWith data
    

    输出:

    {
      "age": "N/A",
      "lastname": "C.",
      "firstname": "Sebastien"
    }
    

    【讨论】:

      【解决方案2】:

      这是我所做的:

      %dw 2.0
      output application/json
      import * from dw::core::Objects
      
      var data={
          lastname:"C.",
          firstname:"Sebastien"
      }
      
      var patch ={
          lastname:"Coucou",
          age:"N/A"
      }
      
      ---
      patch ++ (data -- keySet(patch))
      

      作为输出:

      {
        "lastname": "Coucou",
        "age": "N/A",
        "firstname": "Sebastien"
      }
      

      【讨论】:

        猜你喜欢
        • 2019-05-27
        • 2012-04-24
        • 1970-01-01
        • 1970-01-01
        • 2010-09-20
        • 2023-03-24
        • 2020-03-05
        • 1970-01-01
        • 2018-09-17
        相关资源
        最近更新 更多