jq filtragem curl- 'Não é possível indexar o número com string'

0

Estou tentando filtrar uma solicitação de curl com jq para obter campos específicos e colocá-los em variáveis. Inicialmente, eu estava usando um pedido de onda básica como este:

myResponse=$(curl -u myUsername:myPassword -XGET "https://myWebsite.com/_count?pretty&q=TEST")

Estou fornecendo meu nome de usuário e senha e obtendo uma contagem de quantas vezes o termo 'TEST' está presente, que é retornado em um json bastante. Essa resposta é colocada em uma variável chamada myResponse.

Eu usei jq para filtrar isso para obter um valor de contagem específico do json:

count='echo $myResponse | jq -r '.count''

Isso funcionou e me forneceu um número.

Então, agora eu queria experimentar um pouco. Além de obter a resposta da solicitação de onda, eu também queria recuperar o código de resposta (200, 404 etc). Então eu adaptei o meu pedido de onda para o seguinte:

myResponse=$(curl --write-out %{http_code} --silent -u myUsername:myPassword -XGET "https://myWebsite.com/_count?pretty&q=DEBUG")

Isso retornou com sucesso a resposta JSON e, depois disso, retornou o código de resposta HTTP como um número.

No entanto, quando isso é passado para jq, recebo o seguinte erro:

jq: error: Cannot index number with string

Como resolvo esse erro? Quando foi apenas json jq lidou bem com isso, mas assim que este código de resposta foi adicionado no final, não é possível analisá-lo.

Obrigado

    
por Xenidious 23.06.2016 / 11:52

0 respostas

Tags