Измените кодировку ответа cURL для некоторых символов

Ответ на приведенную ниже команду curl - это json, и в нем есть некоторые японские символы, которые он показывает в utf-8. Я не могу поделиться URL-адресом, но отправляю запрос именно так.

curl https://some-url --header "Content-Type:application/json" --data '{"key":"value"}' 

Ответ:

{
  "Name" : "\u6545\u90f7\u306e\u5bb6",
  "id" : 5
}

Но когда я перенаправляю ответ на json_pp , он работает нормально и показывает японские символы. Проблема в том, что по некоторым причинам я не хочу использовать json_pp . Есть ли какая-либо альтернатива, которая может работать без установки какой-либо внешней библиотеки и работать для Mac / Linux и Windows-машины, способной запускать команды оболочки.

0
задан 5 June 2020 в 17:08

1 ответ

Я понял это. Приведенное ниже решение отлично работает для меня. Спасибо.

Добавляя \ before "в ответе json, необходимо продолжить с командой python

output_with_slashes = $ (echo" '$ output' "| sed 's /" / \\ "/ g')

Преобразование \ u добавленных символов (UTF) в японский / специальный символ

echo '["' $ output_with_slashes '"]' | python -c 'import json, sys; sys.stdout.write (json.load ( sys.stdin) [0] .encode ("utf-8")) '

0
ответ дан 19 June 2020 в 21:30

Другие вопросы по тегам:

Похожие вопросы: