我现在有一个传入的.json文件,我正在通过一个Mapper快照进行路由。在映射器快照中,我需要使用一个名称bob.jones、eric.smith等数组,并将字符串@email.com添加到每个名称中。架构中这些名称的路径是:
jsonPath($, "$response.entity[*].target.name")结构看起来是这样的:
{
"entity": [
{
"target": {
"name": "bob.jones"
}
},
{
"target": {
"name": "eric.smith"
}
},
...
]
}只要映射路径,jsonPath($, "$response.entity[*].target.name")就会传递名称,并输出bob.jones和eric.smith。我试图在数组中使用.concat(),但所做的只是将@email.com添加到列表中,因此得到了bob.jones, eric.smith, @email.com。我试图找出一个表达式,它可以编辑数组项而不改变它们的结构。
发布于 2019-11-26 22:49:28
基于您提供的JSON路径-- jsonPath($, "$response.entity[*].target.name") --我创建了以下JSON。
{
"response": {
"entity": [
{
"target": {
"name": "bob.jones"
}
},
{
"target": {
"name": "eric.smith"
}
}
]
}
}我把它放在一个JSON生成器中,这样我就可以将它作为文档来获取。请参考下面的截图。

如果您想要的输出如下:

然后在映射器中使用以下表达式。
$response.entity.map(e => e.target.name + '@email.com')如果您想要的输出如下:

然后在映射器中使用以下设置。

https://stackoverflow.com/questions/59059562
复制相似问题