python - bytearray 不是 JSON 可序列化的

标签 python json django serialization

我在 Python/Django 中收到此错误消息:bytearray(b'') 不是 JSON 可序列化的。目前,我是这样做的:

...
from django.core.serializers.json import DjangoJSONEncoder
...

output = json.dumps(data, cls=DjangoJSONEncoder)
return HttpResponse(output)

我导入了 DjangoJSONEncoder,因为在此之前我遇到了 datetime 的问题。那个问题消失了,但现在我遇到了类型 bytearray 的另一个问题。所以,我很想知道,无论您使用什么数据类型,是否有一种标准且通用的方法来创建 json 字符串。

最佳答案

对于json无法编码的类型,可以先使用cPickle.dumps()转成字符串类型再使用json。

请记住来自 docs 的警告不过在使用 cPickle 之前:

Warning: The pickle module is not intended to be secure against erroneous or maliciously constructed data. Never unpickle data received from an untrusted or unauthenticated source.

关于python - bytearray 不是 JSON 可序列化的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26862437/

相关文章:

python - 如何使用 BeautifulSoup 从 html 中提取元素

php - 从 JSON 执行 PHP 函数

javascript - 如何使用 Angular.js 将 JSON 数组中的元素添加到网格中

python - Django 过滤器 "less than"日期时间无法正常工作

python - 与多个 Python 脚本共享一个字典

python - 如何在 tensorflow 中使用自定义 python 函数预取数据

内联魔数(Magic Number)的 Pythonic 方式

c# - 我可以使用 set 方法代替 Json 属性吗?

python - 从 Django 中的模型发出加载对象

django - 无法解析 django 中的提醒