Json
使用嵌套值將 JSON 轉換為 CSV 的問題
到目前為止,我過去將標準 JSON 轉換為 CSV 沒有問題
jq
。但是現在我的數據變得複雜了。主要的基本標籤是
account
和subaccount
。所有其他值都是變數。該條目year
具有可變值並經常隨時間更改。這是我無法解決的任務。這是輸出
{ "jsonrpc": "2.0", "result": { "current": [{ "number": 171883808, "commission": 10, "year": [ [1999, 9224, 0], [2000, 41919, 9224], [2001, 162945, 41919], [2002, 397993, 162945], [2003, 751570, 397993], [2004, 886466, 751570] ], "status": true, "last": 9782473, "account": "VFUIJOPQW", "subaccount": "BLPORDGS" }, { "number": 69999012, "commission": 15, "year": [ [2012, 97587, 0], [2013, 472685, 97587], [2014, 605963, 472685], [2015, 698634, 605963], [2016, 1931094, 1745922] ], "status": true, "last": 9782490, "account": "VFUIJOXXX", "subaccount": "BLPORXXX" }], "id": 1 } }
我假設您的意思是輸出一個帶有
account
,subaccount
和year
數組的表。您可以使用更新賦值運算符 (|=
) 執行此操作,例如:jq -r '.result | .current | .[] | .account as $account | .subaccount as $subaccount | .year[] |= ([$account, $subaccount] + .) | .year[] | @tsv'
輸出:
VFUIJOPQW BLPORDGS 1999 9224 0 VFUIJOPQW BLPORDGS 2000 41919 9224 VFUIJOPQW BLPORDGS 2001 162945 41919 VFUIJOPQW BLPORDGS 2002 397993 162945 VFUIJOPQW BLPORDGS 2003 751570 397993 VFUIJOPQW BLPORDGS 2004 886466 751570 VFUIJOXXX BLPORXXX 2012 97587 0 VFUIJOXXX BLPORXXX 2013 472685 97587 VFUIJOXXX BLPORXXX 2014 605963 472685 VFUIJOXXX BLPORXXX 2015 698634 605963 VFUIJOXXX BLPORXXX 2016 1931094 1745922