我有一个 json 文件,其中包含六个“发票”对象,每个对象有 140 多行值。我只想查看六个对象中每个对象的几个值。jq
似乎是一个有前途的解决方案。
我在用着jq version 1.5-1-a5b5cbe
可以通过以下方式获得apt
的常用存储库。
我可以cat stripe-invoices-list.json | jq -C '. | {invoice_id: .data[].id,}'
它返回:
{
"invoice_id": "in_1Gq39HFGUwFHXzvlUOGG3Rv4"
}
{
"invoice_id": "in_1GpyM1FGUwFHXzvlio9pfaM9"
}
{
"invoice_id": "in_1GpyHUFGUwFHXzvlHDS727su"
}
{
"invoice_id": "in_1Gpy4HFGUwFHXzvl6k82godp"
}
{
"invoice_id": "in_1GpjNjFGUwFHXzvl880gp0o9"
}
{
"invoice_id": "in_1GSkk7FGUwFHXzvlfWdhcad5"
}
这是有道理的并且工作正常。这些是六个发票对象的 ID。一切都很好,但仅仅查看 id 并没有什么帮助。所以...
我尝试向输出添加更多数据,但它会创建冗余甚至不正确的输出:
$ cat stripe-invoices-list.json | jq -C '. | {invoice_id: .data[].id, client: .data[].customer_name,}'
结果是:
{
"invoice_id": "in_1Gpy4HFGUwFHXzvl6k82godp",
"client": "client_two"
}
{
"invoice_id": "in_1Gpy4HFGUwFHXzvl6k82godp",
"client": "client_three"
}
{
"invoice_id": "in_1Gpy4HFGUwFHXzvl6k82godp",
"client": "client_four"
}
{
"invoice_id": "in_1Gpy4HFGUwFHXzvl6k82godp",
"client": "client_five"
}
{
"invoice_id": "in_1Gpy4HFGUwFHXzvl6k82godp",
"client": "client_one"
}
{
"invoice_id": "in_1GpjNjFGUwFHXzvl880gp0o9",
"client": "client_one"
}
{
"invoice_id": "in_1GpjNjFGUwFHXzvl880gp0o9",
"client": "client_two"
}
{
"invoice_id": "in_1GpjNjFGUwFHXzvl880gp0o9",
"client": "client_three"
}
{
"invoice_id": "in_1GpjNjFGUwFHXzvl880gp0o9",
"client": "client_four"
}
{
"invoice_id": "in_1GpjNjFGUwFHXzvl880gp0o9",
"client": "client_five"
}
{
"invoice_id": "in_1GpjNjFGUwFHXzvl880gp0o9",
"client": "client_one"
}
{
"invoice_id": "in_1GSkk7FGUwFHXzvlfWdhcad5",
"client": "client_one"
}
{
"invoice_id": "in_1GSkk7FGUwFHXzvlfWdhcad5",
"client": "client_two"
}
{
"invoice_id": "in_1GSkk7FGUwFHXzvlfWdhcad5",
"client": "client_three"
}
{
"invoice_id": "in_1GSkk7FGUwFHXzvlfWdhcad5",
"client": "client_four"
}
{
"invoice_id": "in_1GSkk7FGUwFHXzvlfWdhcad5",
"client": "client_five"
}
{
"invoice_id": "in_1GSkk7FGUwFHXzvlfWdhcad5",
"client": "client_one"
这提供了冗余且混乱的信息。这是多余的,因为in_1GSkk7FGUwFHXzvlfWdhcad5
被多次列出,并且被打乱,因为一张发票与每个客户相关联。
当我打开stripe-invoices-list.json
在 vim 中的文件中我可以看到发票 IDin_1GSkk7FGUwFHXzvlfWdhcad5
与....关联client_one
.
谁能建议可能导致此问题的原因,或者我可以采取的任何调试步骤?
如何得到jq
正确打印这个?