gpt4 book ai didi

dataweave - 使用 Dataweave 将键和值数组压缩到一个对象中

转载 作者:行者123 更新时间:2023-12-02 02:36:17 24 4
gpt4 key购买 nike

我需要从两个数组开始生成一个对象,一个包含键名称,另一个包含值。我可以使用以下代码获取它:

var keys = ["fieldA","fieldB","fieldC"]
var values = [45,"data", {some: "object"}]
---
(keys zip values) map ((keyValueArray, index) ->
{
(keyValueArray[0]):keyValueArray[1]
}
) reduce ((singleKeyObject, acc) -> acc ++ singleKeyObject)

该代码产生以下输出:

{
"fieldA": 45,
"fieldB": "data",
"fieldC": {
"some": "object"
}
}

是否有任何函数可以仅用一个或至少比我找到的解决方案替换所有这三个步骤?

最佳答案

您不需要使用 zip 或 reduce 甚至 concat ++

试试这个:

    %dw 2.0
output application/json
var keys = ["fieldA","fieldB","fieldC"]
var value = [45,"data", {some: "object"}]
---
{
( keys map (data,index) -> {((data):value[index])} )
}

诀窍是在表达式之前用大括号和圆括号将表达式括起来

示例:

{ 
( <expression> )
}

关于dataweave - 使用 Dataweave 将键和值数组压缩到一个对象中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64268924/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com