2016-12-26 77 views
-1

准备JSON请求像的下方。如何从JSON对象替换所述有效载荷中骡

[{ 
    "type": "John", 
    "attributes": { 
     "AA": [{ 
      "value": "1234" 
     }] 
    } 
}, 
{ 

} 
] 

我需要用空白替换下面的那个,即意味着空白''。

, 
    { 

    } 

您能否为此提供解决方案。

最后它应该像下面。

[{ 
     "type": "John", 
     "attributes": { 
      "AA": [{ 
       "value": "1234" 
      }] 
     } 
    } 
] 

回答

0

此正则表达式匹配给定的顺序但是你可能需要改变它接受所有的可能性:

/, \n\{\W+?\}/ 

就什么也没有更换比赛。

+0

这是给非法逃逸sequence.could请您提供准确的:) – Gopi

+0

试图具有上述表达payload.replace。不工作。你能否请有人提供解决方案如何在骡子:) – Gopi

+0

@Gopi记住,SO不是一个免费的编码平台。你有没有写过正则表达式?你需要自己尝试一下,这只是一个通用的正则表达式,它需要适当的转义来在你拥有的任何环境中工作。 –

0

你得到的回应是一个JSON对象或字符串?

如果你得到的回应,你必须将替换功能之前,字符串化一个对象:

payload = JSON.parse(JSON.stringify(payload).replace(/,\{\}/, '')) 

如果你上面贴的响应已字符串化和你haven't解析到一个对象,该方法是:

payload = payload.replace(/\,\s+\n\s+\{\n\s+\}/,'') 
+0

将请求准备为json并通过http调用发送,然后将其发送到http。我们需要删除我们拥有的任何人,并发送请求。 – Gopi

+0

然后,只需做的第一个选项: 有效载荷= [{ “类型”: “约翰”, “属性”:{ “AA”:[{ “值”: “1234” }] } },{ } ]; 有效载荷= JSON.parse(JSON.stringify(有效载荷).replace(/,\ {\} /, '')) 其中有效载荷是您的对象 –

0

为了达到这个目的,我们可以使用DataWeave表达是否在变换消息或MEL。

在这种情况下,我更喜欢在MEL使用它:#[dw('payload filter (sizeOf $) > 0')]

+0

您好Sulthony-我具有相同的使用情况下,询问器。你到底在哪里使用这个MEL?有效负载需要是json或对象?谢谢! – maatthias

+0

我将在** Set Payload **转换器中使用该MEL,并且有效负载可以是:json或object。 –

0

你可以在这里使用flatten运营商为如下。它应该删除空的json。你也可以尝试用null取代{}并添加skipnullon="everywhere"

flatten payload