【发布时间】:2017-04-27 18:55:03
【问题描述】:
我想让 JQ 在一行上打印出数组。我的输入是一个我想要规范化的 Avro 模式。这主要是为了规范化输出,以便在我们发展我们的模式时更容易地进行 Git 差异。我能够使用这样的过滤器来控制字段的顺序,但遇到了如何将数组强制为单行的问题。输出的格式似乎在 JQ 的控制之下。
jq '{name: .name, fields: .fields | map({ name: .name, type: .type})}' my.json
我希望能够显示这个:
{
"name": "rm",
"fields": [
{
"name": "stat_1",
"type": "long"
},
{
"name": "stat_2",
"type": [
"long",
"null"
]
}
]
}
像这样:
{
"name": "rm",
"fields": [
{
"name": "stat_1",
"type": "long"
},
{
"name": "stat_2",
"type": ["long", "null"] << FLATTENED
}
]
}
【问题讨论】:
-
在 jq 中很难做到。有一颗红宝石近在咫尺:github.com/Phrogz/NeatJSON
标签: jq