下面 curl 命令的响应是一个 json,它有一些日文字符,它在 utf-8 中显示。我无法分享网址,但这就是我发送请求的方式。
curl https://some-url --header "Content-Type:application/json" --data '{"key":"value"}'
回应是:
{
"Name" : "\u6545\u90f7\u306e\u5bb6",
"id" : 5
}
但是当我通过管道响应json_pp
它时,它工作正常并显示日文字符。问题是由于某些原因我不想使用json_pp
. 是否有任何替代方法可以在不安装一些外部库的情况下工作并且适用于能够运行 shell 命令的 Mac / Linux 和 Windows 机器。
我已经想通了。以下解决方案对我来说很好。谢谢。
在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"))'