簡體   English   中英

如何使用 JQ 將 JSON 數組值展平為 CSV

[英]How to flatten JSON array values as CSV using JQ

我有一個 JSON 文件,其中包含應用程序客戶端及其相關的應用程序功能:

{
    "client-A": [
        "feature-x"
    ],
    "client-B": [
        "feature-x",
        "feature-y"
    ],
    "client-C": [
        "feature-z"
    ],
    "client-D": [
        "feature-x",
        "feature-z"
    ],
    ...
}

我試圖把它變成下面的 CSV:

client,feature
client-A,feature-x
client-B,feature-x
client-B,feature-y
client-C,feature-z
client-D,feature-x
client-D,feature-z

使用jq完成這項工作的簡單方法是什么?

不確定這是否是最有效的方法,但您可以使用以下管道進行轉換:

<yourfile.json jq -r 'to_entries | .[] | { key: .key, value: .value[] } | [ .key, .value ] | @csv'

to_entries將結構轉換為“鍵值”對,然后可以對其進行操作。 { key: .key, value: .value[] }位會將數組轉換為多行...

暫無
暫無

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

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