簡體   English   中英

嵌套 JSON 轉換為 CSV Dataweave

[英]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.

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