[英]Nested JSON convert to CSV Dataweave
{
"one": {
"two": [
"199052",
"109926"
],
"three": [
"191",
"190",
"189",
"188",
"187"
],
"four": {
"five": [
{
"five": "2022-03-24"
},
{
"five": "2022-03-24"
},
{
"five": "2022-03-18"
},
{
"five": "2022-03-18"
},
{
"five": "2022-03-18"
},
{
"five": "2022-03-14"
},
{
"five": "2022-03-14"
},
],
"six": {
"seven": [
"Test1",
"Test2",
"Test1",
"Test2"
],
"eight": [
"first description.",
"second description",
"first description.",
"second description"
]
},
"nine": {
"name": [
"Ps3564",
"35355Ps"
]
},
"tenCreated": [
{
"tenCreated": "2022-02-10"
},
{
"tenCreated": "2022-02-10"
},
{
"tenCreated": "2022-02-10"
}
],
"elevenUpdated": [
{
"elevenUpdated": "2022-03-24"
},
{
"elevenUpdated": "2022-03-24"
},
{
"elevenUpdated": "2022-03-24"
},
],
"twelve": {
"thirteen": [
"fourteen",
"Do",
"Do again",
"Do work",
"Doone"
]
},
"fifteen": {
"name": [
"Good",
"Not good",
"good"
]
},
"sixteen": {
"sixteenCreator": [
"Jan Kowalski",
"Jan kowalski",
"Jan Kowalski",
"Jan kowalski"
],
"seventeen": null
},
"eieighteen": [
"Test test",
"test test 10",
"api test",
],
"ninteen": {
"ninteeneReporter": [
"Jan Kowalski",
"Jan Kowalski",
"Jan Kowalski"
],
"twentyEmail": [
"jankowalski@",
"jankowalski@"
]
},
"twentyOne": {
"TwentyTwo": [
"Jan Kowalski",
"Jan Kowalski",
"Jan Kowalski"
],
"TwnetyThree": [
"jankowalski@",
"jankowalski@"
]
},
"TwentyFour": {
"TwentyFive": [
"P186",
"P186",
"P186",
],
"TwentySix": {
"TwentySeven": [
"Plan",
"Plan",
"Plan"
],
"TwentyEight": [
"END",
"END"
],
"Thiry": [
"To Do",
"To Do",
"To Do",
"To Do",
],
"ThirtyOne": null
}
}
}
}
}
嗨,我有這個 json,我想將它轉換為 CSV。這是我的轉換 DateTime 我做了類似的事情,但這段代碼為每個日期提供了額外的標簽。
"five": {
"five": payload.one.four.five map (item, index) -> {
five : item
as DateTime
{format: "yyyy-MM-dd'T'HH:mm:ss.SSSxx"}
as String {format: "yyyy-MM-dd"} }
但是我的這個數據的output是這樣的。 只有日期。 是否可以像我一樣更改日期而不更改結構?
"five": [
"2022-03-24T15:17:46.846+0100",
"2022-03-24T09:05:35.133+0100",
"2022-03-24T09:06:12.081+0100",
],
如果您預期的 output 是一個 CSV,只有five
列下的日期,那么您可以將它設為 select:
%dw 2.0
output application/csv
---
payload.one.four.five
Output(在輸入的第 17 行中刪除多余的雙引號后):
five
2022-03-24
2022-03-24
2022-03-18
2022-03-18
2022-03-18
2022-03-14
2022-03-14
如果你想對數據進行額外的轉換,你可以根據需要 map 數組的每個元素:
%dw 2.0
output application/csv
---
payload.one.four.five
map (item, index) -> {five: item.five as String {format: "yyyy-MM-dd"}}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.