Я объединяю два json-файла с jq
(group_by( [."contraction", "definitions"]) | map((.[0]|del(."definitions" [])) + { "definitions": (map(."definitions" [])) }))
, что приводит к следующему результату:
[
{
"contraction": "TEST_1",
"definitions": [
{
"search": "1",
"replace": "12"
},
{
"search": "3",
"replace": "4"
},
{
"search": "6",
"replace": "2"
},
{
"search": "1",
"replace": "1"
}
]
},
{
"contraction": "TEST_2",
"definitions": [
{
"search": "A",
"replace": "post"
},
{
"search": "B",
"replace": "prae"
},
{
"search": "A",
"replace": ""
}
]
}
]
, но теперь я хочу избавиться от повторяющихся записей, которыеУ них та же строка в их атрибуте поиска.
Я пробовал фильтры unique и unique_by, но это приводит к ошибкам комплимента.
результат должен быть:
[
{
"contraction": "TEST_1",
"definitions": [
{
"search": "1",
"replace": "12"
},
{
"search": "3",
"replace": "4"
},
{
"search": "6",
"replace": "2"
}
]
},
{
"contraction": "TEST_2",
"definitions": [
{
"search": "A",
"replace": "post"
},
{
"search": "B",
"replace": "prae"
}
]
}
]
это возможно с jq?потому что я не пытаюсь фильтровать ключи, но нормальные значения.есть идеи?
код на JQPlay