【发布时间】:2018-01-16 16:30:10
【问题描述】:
我正在使用此代码:
jq --raw-output "(map(keys) | add | unique) as $cols | map(. as $row | $cols | map($row[.])) as $rows | $cols, $rows[] | @csv" output2.json > output3.csv
从我的 JSON 数据库创建 CSV:
[
{
"key1": "field1",
"key2": "field2",
"key3": "field3"
},
{
"key1": "field4",
"key2": "field5",
"key3": "field6"
}
]
https://jqplay.org/ 的输出非常完美,但在我的命令行上运行时似乎根本不起作用。 我在 VSCode 中使用 PowerShell。
我不断收到此错误。
jq:错误:语法错误,意外的'|',期待'$'或'['或'{'(Windows cmd shell引用问题?)在, 第 1 行: (map(keys) | add | unique) as |地图(。作为 | | 地图([.]))作为 | , [] | @csv jq: 1 编译错误我猜想$ 是问题所在,因为它们没有显示在错误文本中,所以我尝试以各种方式转义它们,但没有任何进展。
我进行了广泛的搜索,似乎没有人有这个问题,所以我一定是得到了一些非常简单非常错误的东西。
【问题讨论】:
-
您是将整行作为字符串传递,还是按原样传递?您需要将其作为字符串传递并转义 |人物。您还需要注意powershell语法:$表示在cmd窗口中执行命令。
标签: json powershell jq