Vytvořit jednotný slovník s jq

0

Otázka

Mám následující zadání:

[
  {
    constant_id: 5,
    object_id: 2,
    object_type: 'delimited_file',
    name: 'data_file_pattern',
    value: 'list_of_orders.csv',
    insert_date: 2021-11-23T10:24:16.568Z,
    update_date: null
  },
  {
    constant_id: 6,
    object_id: 2,
    object_type: 'delimited_file',
    name: 'header_count',
    value: '1',
    insert_date: 2021-11-23T10:24:16.568Z,
    update_date: null
  }
]

Že bych chtěl kombinovat, aby se následující výsledek:

{
  data_file_pattern: 'list_of_orders.csv',
  header_count: '1'
}

V podstatě vytváří jednotný slovník s pouze name a value klíče od vstupních slovníků. Myslím, že jsem to nedělal, ale pro život mě nemůžu na to přijít znovu.

dictionary jq json
2021-11-23 19:29:11
1

Nejlepší odpověď

1

Pokud jste si citovat přímo ve vstupní JSON, je to stejně jednoduché jako volání from_entries builtin. Převede pole objektů do jednoho objektu s danou klíč/hodnota páry. To trvá název pole z oblasti tzv. key, Key, name nebo Name a hodnota z pole s názvem value nebo Value (viz Demo):

from_entries
{
  "data_file_pattern": "list_of_orders.csv",
  "header_count": "1"
}

Poznámka: věřím, že druhé pole název by měl znít header_count místo delimited_file jak jste chtěl, aby se jeho jméno od .namene .object_type.

2021-11-23 20:33:16

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................