[英]reading a file in mule and parsing with dataweave
我正在使用 Mule 4.4 並嘗試讀取一個文件,然后使用 Dataweave 將其轉換為 JSON。 這是文件(它沒有標題),文件的最后一行是空白
abc|Milk|3.9|
lmn|Butter|5.5|
xyz|Bread|1.6|
在讀取文件時將 mime 類型設置為 application/csv(盡管其 pipe 分隔),這會成為問題嗎?
我遇到的問題是,我想將文件內容轉換為 json,如下所示:
[
{
"id": "abc",
"product": "Milk",
"price": 3.9
},
{
"id": "lmn",
"product": "Butter",
"price": 5.5
},
etc
]
但是它顯示如下:(第一行重復)
[
{
"id": {
"abc|Milk|3.9|": "lmn|Butter|5.5|"
}
},
{
"id": {
"abc|Milk|3.9|": "xyz|Bread|1.6|"
}
}
]
我認為這種情況正在發生,因為 mule 假設第一行包含 header。這是我的數據編織:
%dw 2.0
output application/json
---
payload map (value,index)->
{
id:value
}
它以這種方式顯示,因為您將其設置為將第一行視為您的 header 行。 您需要將讀取器的header
值設置為 false,以便它了解第一行實際上不是 header。
除此之外,您還需要將分隔符設置為 pipe 字符。
例如,如果您將其作為文本讀入並僅使用 dataweave 對其進行處理,則它看起來像:
%dw 2.0
output application/json
---
read(payload, "applicatin/csv", {"header": false, "separator": "|" }) map (
{
id: $[0],
product: $[1],
price: $[2]
}
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.