arrays - soljson - ¿Cómo combinar la secuencia de objetos en jq en un objeto?
solidity español (2)
Si su entrada es un flujo de objetos, deben ser "ajustados", por ejemplo, utilizando la opción de línea de comandos -s para combinarlos.
Por lo tanto, para combinar objetos en el flujo de entrada, use:
jq -s add
Para el segundo problema, creando una matriz:
jq -s .
(Por supuesto, existen otras alternativas, pero son simples y no requieren la versión más reciente de jq. Con jq 1.5, puede usar ''entradas'', por ejemplo, jq -n ''[inputs]''
)
Me gustaría convertir el flujo de objetos:
{
"a": "green",
"b": "white"
}
{
"a": "red",
"c": "purple"
}
en un objeto:
{
"a": "red",
"b": "white",
"c": "purple"
}
Además, ¿cómo puedo envolver la misma secuencia en una matriz?
[
{
"a": "green",
"b": "white"
},
{
"a": "red",
"c": "purple"
}
]
Lamentablemente, el manual carece seriamente de exhaustividad, y Google tampoco encuentra las respuestas.
Una alternativa a absorber con la opción de línea de comando -s es usar el filtro de inputs
. Al igual que:
jq -n ''[inputs] | add''
Esto producirá un objeto con todos los objetos de entrada combinados.