【发布时间】:2021-09-03 14:45:01
【问题描述】:
我有以下想要转换为 csv 的 json 文件:
{
"id": 1,
"date": "2014-05-05T19:07:48.577"
}
{
"id": 2,
"date": null
}
使用以下 jq 将其转换为 csv 生成:
$ jq -sr '(map(keys) | add | unique) as $cols | map(. as $row | $cols | map($row[.])) as $rows | $cols, $rows[] | @csv' < test.json
"date","id"
"2014-05-05T19:07:48.577",1
,2
不幸的是,对于“id”等于“2”的行,日期列未设置为“null” - 相反,它是空的。如果它是一个日期时间列,这反过来会导致 MySQL 在导入时出错(如果我们没有日期,它需要一个文字“null”,并且在“”上出错)。
如何让 jq 打印文字“null”,而不是“”?
【问题讨论】:
-
我在
-s选项中进行了编辑,以便问题、示例输入和输出都保持一致。如果这不是本意,请随时重新编辑。
标签: json csv null export-to-csv jq