gpt4 book ai didi

anypoint-studio - 使用 Dataweave 过滤设置变量组件的有效负载

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

对于 Mulesoft 4.2 Set Variable 组件,我想分配一个简单的字符串值,该值是从传入 JSON 有效负载的单个特定记录中提取的。

就我而言,仅从以下示例中的“国家/地区”字段中获取值:

[
{
"salesID": "4404Bob Builder210032011-02-18T15:52:21+0.00",
"id": "4404",
"firstName": "Bob",
"lastName": "Builder",
"address": "181 Construction Road, Adelaide, NSW",
"postal": "21003",
"country": "New Zealand",
"creationDate": "2011-02-18T15:52:21+0.00",
"accountType": "personal",
"miles": 17469
}
]

执行此操作的非动态方法如下:

payload[0].country

我相信最好的方法是使用过滤功能。下面的选项为我提供了整个对象,但我只想要国家/地区字段。

payload filter ($.id == "4404")

Map 函数对此似乎有点过分了,因为我只想要值本身。我一定是缺少获取国家/地区字段的语法。

最佳答案

我做了更多调查,这个解决方案让我足够接近我想要的: https://stackoverflow.com/a/43488566/11995149

对于使用过滤器的代码示例,我必须将整个表达式括在括号中,然后我可以使用点引用访问该字段,但下面的代码将 String 值作为数组中的单个记录给出:

(payload filter ($.id == "4404")).country
[
"New Zealand"
]

就我而言,我知道过滤后的有效负载只会返回一个结果,因此我可以通过以下方式仅获取字符串值:

(payload filter ($.id == "4404"))[0].country

enter image description here

关于anypoint-studio - 使用 Dataweave 过滤设置变量组件的有效负载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57874736/

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