2
レッツはjqでデカルト積を作るには?
echo '[{"a": 1, "b": 2}, {"a": 3, "b": 4}]' | jq '[{x: .[].a, y: .[].b}]'
、私は入力
[
{
"a":1,
"b":2
},
{
"a":3,
"b":4
}
]
を持っていると私が試したと言うと私は私が出力を必要とする、アレイ内のすべての項目のために必要な意味
[
{
"x":1,
"b":2,
"language":"en"
},
{
"x":1,
"b":2,
"language":"fr"
}...
]
を取得したいと思い2つのアイテムには、"lanuage": "en"
キー値のペアが1つあり、1つに"lanuage": "ru"
EDIT。もしそれが明確でないなら、enoug。オブジェクトの入力配列is
と別の配列xs
のケテシアン積が必要です。これは私に(i, x)
のペアを与えます。それぞれのペアに対して、x
の値を持つi
と私の場合はいくつかのキー(language
)のすべて(キー、値)のペアを持つオブジェクトを出力したいと思います。
私は配列が必要です。どうやってするか? – user1685095
これはjsonオブジェクトのストリームです。ストリームを配列として必要とする場合は、大括弧を追加して配列に格納するだけです。 –
さて、私はこの 'echo '[{" a ":1、" b ":2}、{" a ":3、" b ":4}]'を試しました。 jq --argjson langs '["en"、 "fr"]' '。[] | [{x:.a、y:.b、language:$ langs []}] ''。これにより配列のストリームが作成されます。 – user1685095