Tengo una salida JSON que contiene una lista de objetos almacenados en una variable. (Puede que no esté expresando bien)
[
{
"item1": "value1",
"item2": "value2",
"sub items": [
{
"subitem": "subvalue"
}
]
},
{
"item1": "value1_2",
"item2": "value2_2",
"sub items_2": [
{
"subitem_2": "subvalue_2"
}
]
}
]
Necesito todos los valores para item2 en una matriz para ejecutar un script bash en ubuntu 14.04.1.
He encontrado varias formas de obtener el resultado completo en una matriz, pero no solo los elementos que necesito
Respuesta aceptada:
Usando jq :
$ cat json
[
{
"item1": "value1",
"item2": "value2",
"sub items": [
{
"subitem": "subvalue"
}
]
},
{
"item1": "value1_2",
"item2": "value2_2",
"sub items_2": [
{
"subitem_2": "subvalue_2"
}
]
}
]
CÓDIGO:
arr=( $(jq -r '.[].item2' json) )
printf '%sn' "${arr[@]}"
SALIDA:
value2
value2_2