2016-12-26 88 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 
相關問題