Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python JSON解析编码导致unicode编码错误_Python_Json_Bash_Python 2.x - Fatal编程技术网

Python JSON解析编码导致unicode编码错误

Python JSON解析编码导致unicode编码错误,python,json,bash,python-2.x,Python,Json,Bash,Python 2.x,我需要在bash中解析一些简单的JOSN,它包含没有外部依赖的非ascii字符,所以我使用了python解决方案 这适用于ascii值,但其他值会引发此错误: “ascii”编解码器无法对位置1212处的字符u'\u2019'进行编码:序号不在范围内(128) 现在来看,我想我需要转换为unicode类型,但我不知道如何转换。您已经有了unicode,但是当打印失败时,编码 这可能是因为您没有设置语言环境,或者您的语言环境设置为ASCII,或者您正在将Python结果传输到其他内容(但您的问题中

我需要在bash中解析一些简单的JOSN,它包含没有外部依赖的非ascii字符,所以我使用了python解决方案

这适用于ascii值,但其他值会引发此错误:

“ascii”编解码器无法对位置1212处的字符u'\u2019'进行编码:序号不在范围内(128)


现在来看,我想我需要转换为
unicode
类型,但我不知道如何转换。

您已经有了
unicode
,但是当打印失败时,编码

这可能是因为您没有设置语言环境,或者您的语言环境设置为ASCII,或者您正在将Python结果传输到其他内容(但您的问题中没有包括这一点)。在后一种情况下,Python拒绝猜测连接到管道时要使用什么编解码器(否则它可以使用终端语言环境)

将设置为合适的编解码器;例如,如果您的终端使用UTF-8:

cat $JSON_FILE  | PYTHONIOENCODING=UTF-8 python -c "import sys, json; print json.load(sys.stdin)['$KEY']"

啊。。。我的错,我假设问题是在Python中,让我检查一下我是如何使用管道的,非常感谢!!!我已经为此挣扎了好几天了。
cat $JSON_FILE  | PYTHONIOENCODING=UTF-8 python -c "import sys, json; print json.load(sys.stdin)['$KEY']"