でネストされた配列の値からのみ所望の特性を取得する構造は次のようになります。JQ
{
"catalog": [
{
"name": "X",
"catalog": [
{ "name": "Y", "uniqueId": "Z" },
{ "name": "Q", "uniqueId": "B" }
]
}
]
}
これは、既存の構造が多く他のプロパティは、各レベル(https://gist.github.com/ajcrites/e0e0ca4ca3a08ff2dc401ec872e6094c)である除いて次のようになります。私はそれらをフィルタリングして、このように特に見えるJSON形式を取得したいだけです。
私は:jq '.catalog'
で始まりましたが、これは配列だけを返します。私はまだcatalog
プロパティ名が欲しいです。私はjq '{catalog: .catalog[]}
でこれを行うことができますが、これは各カタログオブジェクトを個別に出力するので、出力全体が無効になります。私はまだプロパティが配列内にあることを望んでいます。 jqを使用して配列内の特定のプロパティキー値をフィルタリングする方法はありますか?
現在の入力に望ましい出力を表示します。また、入力は有効ではありません。json:配列内に '' name ":" Y "'という表記を使用することはできません。 – RomanPerekhrest
@RomanPerekhrestは望ましい出力です。入力は同じで、より多くのプロパティを持っています。私は質問にサンプルを含めました –
私は期待される出力を与える解決策を持っています。しかし私は普遍的なアプローチではなく、「ハック」と呼ぶことができます。だから私はそれを投稿しなかったのです – RomanPerekhrest