test remove online instalar from array argjson json jq

json - remove - jq test



Extraiga un campo especĂ­fico de la salida JSON usando jq (2)

Tengo una salida JSON de la siguiente manera:

{ "example": { "sub-example": [ { "name": "123-345", "tag" : 100 }, { "name": "234-456", "tag" : 100 }, { "name": "4a7-a07a5", "tag" : 100 } ] } }

Quiero extraer los valores de los tres campos de "nombre" y almacenarlo en tres variables.

Intenté cat json_file | jq ''.["example.sub-example.name"]'' cat json_file | jq ''.["example.sub-example.name"]'' para extraer el valor del campo "nombre" pero eso no funciona.

¿Alguien puede decirme cómo lograr esto usando jq (o algún otro método)?


En jq 1.3, puedes usar el filtro:

.example["sub-example"] | .[] | .name

O más compacto:

.example["sub-example"][].name

Por supuesto, estos también funcionan con versiones posteriores de jq.


Si solo desea extraer los campos de name , el comando que está buscando es jq ''.example."sub-example" | .[] | .name'' jq ''.example."sub-example" | .[] | .name'' jq ''.example."sub-example" | .[] | .name'' . Si desea mantener los nombres en una matriz, jq expresión jq completa entre corchetes.