«jq: error: невозможно индексировать массив с помощью строки», получая данные из результатов ElasticSearch с помощью jq - PullRequest
0 голосов
/ 26 марта 2019

Я пытаюсь получить listaObjeto от JSON.

Это выдержка из моего JSON:

{
  "took": 42,
  "timed_out": false,
  "_shards": {
    "total": 5,
    "successful": 5,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": 1,
    "max_score": 11.2367325,
    "hits": [
      {
        "_index": "provflogs-2019.03.26",
        "_type": "Portal",
        "_id": "SQGEumkBYgyBeVm_SiGe",
        "_score": 11.2367325,
        "_source": {
          "siglaSistema": "SRPO",
          "dataPesquisa": "2019-03-26T12:00:25.896-0300",
          "ipRequisitante": "104.238.179.249",
          "listaObjeto": [
            "UB711395572YP",
            "OG461051611BR",
            "RG968790315CN"
          ],
          "loginUsuario": "USER1",
          "metodoRequisitado": "buscaEventos"
        }
      }
    ]
  }
}

Вот ошибка, которую я получаю:

jq '.hits.hits._source.listaObjeto' jq: error: невозможно индексировать массив с строка

1 Ответ

3 голосов
/ 26 марта 2019

.hits.hits - это массив, поэтому вам нужно добавить [], чтобы отобразить его:

.hits.hits[]._source.listaObjeto
...