入れ子オブジェクトからなるJSONをフラット化しようとしています。最上位層にはいくつかのキーと値のペアが含まれています。各値は、それ自体が複数のオブジェクト(最下層)の配列です。jqキー名を保持した状態でJSONをフラット化
jqを使用して、私が得たいと思っていたものは、ボトムレイヤーのすべてのオブジェクトを含むオブジェクトの配列です。各オブジェクトには、もともと属していたトップレイヤーのキーを識別するキー/値ペアが追加されています。すなわち
、Iは各OBJi
は、単に余分なキー/値のペア
[OBJ1, OBJ2, OBJ3]
にJSON
{
"key1": [obj1, obj2],
"key2": [obj3]
}
を入れたいです
"parent-key-name": keyx
ここで、keyx
はトップレイヤーのキー012すなわち、"key1"
はobj1
とobj2
、"key2"
はobj3
です。
私は、最下位層のオブジェクトを参照するときに問題が発生することに苦労しています。 via [。]、jqは関連するトップレイヤー情報にアクセスするための組み込み機能を持っていないようです。しかし、私はjqの新機能であり、結局のところ簡単な解決策があることを願っています。
[to_entries [] | .keyとしての.key .value [] | 。["parent-key-name"] = $ parent] OR [to_entries [] | .keyとしての.key .value [] + {"親キー名":$ parent}] – peak