Python Json编码,自定义转储方法

Python Json编码,自定义转储方法,python,json,Python,Json,我有以下字典: data = { 'name': 'david', 'avatar': '\xed\xb3\x1cW\x7f\x87\x1c\xb9*Pw\x9a#W\x05\xeaNs\xe4\xaa@\xddi\x8e\\\x15\xa8;\xcd\x91\xab\x02u\xa79rU\xa0\xee4\xf7K\xb9\x05{t\x02\xc6I\xb6\xaa\xbf\x00\x00\x00\x00IEND\xaeB`\x82...' } 当我尝试这样做时: imp

我有以下字典:

data = {
    'name': 'david',
    'avatar': '\xed\xb3\x1cW\x7f\x87\x1c\xb9*Pw\x9a#W\x05\xeaNs\xe4\xaa@\xddi\x8e\\\x15\xa8;\xcd\x91\xab\x02u\xa79rU\xa0\xee4\xf7K\xb9\x05{t\x02\xc6I\xb6\xaa\xbf\x00\x00\x00\x00IEND\xaeB`\x82...'
}
当我尝试这样做时:

import json
json.dumps(data)
我得到一个
UnicodeDecodeError
,可能是因为它试图解释
avatar
数据


在进行json编码时,我如何“跳过”一个值,使键的值只使用其字符串,而不尝试对其进行编码?

我相信如果您在字符串中添加一个“u”,即
u'1w\x…。
json只支持Unicode文本字符串;您可以将字节序列存储为整数数组。@u2744雪花谢谢您的推荐。在实践中我该如何做到这一点呢?在Python3中,这就像
'avatar':list(b'1w\xed…)
一样简单。在Python2中,我不知道
map(ord,“…”)
?如果您需要通过JSON发送二进制数据(这似乎是您正在做的),那么您需要将二进制数据编码为与JSON兼容的内容。我建议您看看base64编码,这对于您的目的来说可能很好:请注意,在另一端接收数据的任何东西都需要将其解码回二进制数据。