簡體   English   中英

apache Nifi:更新屬性處理器

[英]apache Nifi : updateAttribute processor

我正在嘗試更新一個屬性(例如,我們將其稱為 myAttribute)以替換所有“由\”,例如:

  • {"field1":1,"field2":{"field21":21,"field22":"22"}} 將變為
  • {\"field1\":1,\"field2\":{\"field21\":21,\"field22\":\"22\"}}

為此,我將 updateAttribute 處理器與 replaceAll function 一起使用,例如:

  • 屬性:我的屬性
  • 值:${log.message:replaceAll('"','\"')}

結果是相同的(\ 用作轉義序列前綴)我也嘗試使用兩個 \\ 但結果是相同的。

有人可以幫助我嗎?

好吧,似乎表達式語言的replaceAll function 中有一個錯誤..

但無論如何,您似乎正試圖逃避您的 Json ,而escapeJson可以解決..

因此,只需使用${log.message:escapeJson()}

可能escapeJson是最好的選擇,但如果你需要用replaceAll來做,試試這個:

  • ${log.message:replaceAll("\"","\\\\\"")}

或者

  • ${log.message:replaceAll('"','\\\\"')}

我已經使用 NiFi 1.9.0 進行了測試,並且可以正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM