从动态 JSON 负载中提取值

Extract Value From Dynamic JSON payload

我是 运行 Mule 3,正在使用 dataweave 1.0 我有一个 JSON 有效载荷(带有动态键和值),它出现在 For Each 循环中。示例数据如下:

{
  "094d29c7-6abf-4acb-8513-e1d2d2b8998a": "900145600114256"
}

键是 UUID,值是标识符。我需要将值存储在 sessionVar 中。有人可以帮助我使用 dataweave 1.0 从上面提取 JSON 值 (900145600114256) 吗?提前致谢。

我会使用 pluck 运算符。这将遍历每个键值对。在这种情况下,您将获得值列表

(payload pluck ((value,key) -> value))[0]

看来您并不知道对象中可能有哪些键。 mapObject 功能有助于解决这个问题

%dw 2.0
var x={
  "094d29c7-6abf-4acb-8513-e1d2d2b8998a": "900145600114256"
}
output application/json
---
x mapObject ((value, key, index) ->
    {keyFromPaylod:key, valueFromPayload: value}
)

在此处查看如何使用未知键 https://simpleflatservice.com/mule4/WorkingWithUnknownKeys.html