jq no está trabajando en el nombre de la etiqueta con guiones y números

Estoy usando jq pero tener “-” en mi etiqueta json hace que jq no compile. No puedo escapar para que funcione. Aquí el comando

curl -X GET -H "X-AppKey:foo" "foo/v2/_status" | jq '.component-status[]' 

He leído en el github de jq esta publicación https://github.com/stedolan/jq/issues/202 pero no puedo hacer que funcione.

Esta es la salida del rizo

  { "status": "ok", "hostname": "0b0b495a46db", "component-status": [ { "status-code": 200, "component": "Service1", "status": "OK" }, { "status-code": 200, "component": "Service2", "status": "OK" } ] } 

¿Alguna idea?

Debe incluir entre corchetes y comillas dobles:

 jq '.["component-status"]' 

Con su entrada dada, regresa:

 [ { "status": "OK", "component": "Service1", "status-code": 200 }, { "status": "OK", "component": "Service2", "status-code": 200 } ] 

El Manual jq (desarrollo) -> Filtros básicos :

 .foo, .foo.bar 

El filtro útil más simple es .foo . Cuando se le da un objeto JSON (también conocido como diccionario o hash) como entrada, produce el valor en la tecla “foo”, o nulo si no hay ninguno presente.

Si la clave contiene caracteres especiales, debe rodearla con comillas dobles como esta:. ."foo$" .

Del problema github No se puede seleccionar el campo si el nombre del campo tiene guiones :

Actualmente, eso se analiza como una resta. Siempre puede utilizar explícitamente cadenas para cuando sus claves no se ajustan a la syntax del identificador.