输入:
{
"string": "putbackthespaces",
"indexes": [
3,
8,
12
]
}
输出:
{
"string": "put back the spaces"
}
我想在payload.indexes中元素指定的特定索引处插入一个字符(在这个特定示例中,将插入空格)。这里的问题是,只能使用mule流和dataweave来完成转换。谢谢
我使用了一个递归函数来为每个字符应用插入:
%dw 2.0
output application/json
import * from dw::core::Arrays
fun insertChar(s, n, c)=s[0 to n-1] ++ c ++ s[n to -1]
fun insertAllChars(s, a, c)=
if (sizeOf(a)>0)
insertAllChars(
insertChar(s, a[0], c),
slice(a,1, sizeOf(a)),
c
)
else s
---
{
string: insertAllChars(payload.string, payload.indexes , " ")
}