curl com o Umlaut causa “erro de análise JSON: byte médio 0x22” do UTF-8 inválido [duplicado]

0

Estou executando o comando abaixo curl na linha de comando (Git Bash no Windows) ou como parte de um script Bash.

curl -s -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d "{\"testField\":\"ä\"}" https://someurl...

Por favor, note que o corpo do comando curl tem um Umlaut ä .

O servidor que é uma API REST de inicialização do Spring em execução em um contêiner do AWS Elastic Beanstalk retorna o seguinte erro:

JSON parse error: Invalid UTF-8 middle byte 0x22; nested exception is com.fasterxml.jackson.core.JsonParseException: Invalid UTF-8 middle byte 0x22\n at [Source: (PushbackInputStream); line: 1, column: 17]

O mesmo comando curl importado para o Postman funciona muito bem, então acredito que é mais um problema de cachos do que um problema no servidor.

Qualquer conselho sobre como obter este trabalho de comando de onda é muito apreciado!

    
por Bernie Lenz 02.05.2018 / 21:55

1 resposta

2

Tente substituir o caractere ä pela codificação UTF8 \u00e4 :

curl -s -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d '{"testField":"u00e4"}' https://someurl..
    
por 02.05.2018 / 22:07