2016-12-26 12 views
-1

以下のようにjsonリクエストを用意しました。ミュールのjsonオブジェクトからのペイロードを置き換える方法

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

} 
] 

以下のものを空白(空白)に置き換える必要があります。

, 
    { 

    } 

解決策を教えてください。

最後に、次のようになります。

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

答えて

0

この正規表現は、所定の配列と一致した、しかし、あなたはおそらく、すべての可能性を受け入れるためにそれを変更する必要があります:ちょうど何も試合を置き換える

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

を。

+0

を追加することができ、正確なものを提供してください:) – Gopi

+0

は、上記の式でpayload.replaceを持ってみました。動作しませんでした。あなたは誰かが解決策を提供してくれますか? – Gopi

+0

@GopiはSOがフリーのコーディングプラットフォームではないことを覚えておいてください。あなたは正規表現を書いたことがありますか?自分で試してみる必要があります。これは単なる汎用正規表現です。あなたが持っている環境で動作するためには適切なエスケープが必要です。 –

0

レスポンスをJSONオブジェクトまたは文字列として取得しますか?

あなたは置き換える機能を適用する前に、それを文字列化する必要があるオブジェクトとして応答を取得する場合:あなたは上記の投稿レスポンスが既に文字列化され、あなたがオブジェクトにそれを解析されhaven't場合

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

、方法は次のとおりです。

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

要求をjsonとして準備し、httpに送信する前にhttpコール経由で送信します。私たちが持っている{}を削除してリクエストを送信する必要があります。 ペイロード= [{ "タイプ": "ジョン"、 は "属性":{ "AA":[{ "値": "1234" }] } – Gopi

+0

そしてちょうど最初のオプションを行います}、 { } ]; payload = JSON.parse(JSON.stringify(ペイロード).replace(/、\ {\} /、 ''))ペイロードはオブジェクトです –

0

この目的を達成するために、我々はDataWeave表現を使用するかどうかにメッセージまたはMELにトランスフォームすることができます。私はMELでそれを使用することを好むこの場合

#[dw('payload filter (sizeOf $) > 0')]

+0

こんにちはSulthony-質問者と同じユースケースです。あなたはどこでこのMELを正確に使用しますか?ペイロードはjsonまたはオブジェクトである必要がありますか?ありがとう! – maatthias

+0

**ペイロード**トランスフォーマーの内部でそのMELを使用し、ペイロードはjsonまたはobjectの両方になります。 –

0

下記の通りあなたがここにflatten演算子を使用することができます。それは空のjsonを削除する必要があります。また、あなたがnull{}を交換しようとすると、それは違法エスケープsequence.couldにあなたを与えているskipnullon="everywhere"

flatten payload 
関連する問題