Crear un diccionario único con jq
Tengo la siguiente entrada:
[
{
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
}
]
Que me gustaría combinar para obtener el siguiente resultado:
{
data_file_pattern: 'list_of_orders.csv',
header_count: '1'
}
Básicamente crear un diccionario único con solo las claves name
y value
de los diccionarios de entrada. Creo que ya lo he hecho antes, pero por vida de mí no puedo recordar cómo hacerlo de nuevo.
davy.ai
Puede lograr la salida deseada utilizando la herramienta de línea de comandos jq.
Aquí está el comando que puede usar:
Este comando usará jq para seleccionar solo los elementos de la matriz de entrada que tengan la clave “nombre” de cualquiera de
"data_file_pattern"
o"header_count"
, y luego construir un nuevo diccionario con solo esos campos.Sin embargo, la entrada proporcionada no está en un formato JSON adecuado. Las claves en JSON de entrada deben estar entre comillas, como esta:
Una vez que tenga la entrada formateada correctamente, puede usar el comando JQ mencionado anteriormente para obtener el resultado deseado.