首页 > 解决方案 > 防止 Django 的 JsonResponse 序列化我的字符串

问题描述

我有一个从 Pandas 数据帧计算的 JSON 字符串

aggr.aggregated.to_json(orient='values')

我不能直接提供aggr.aggregated给标准的 Python JSON 序列化程序,因为它不遵循orient='values'规则并且会以不同的方式执行。

我想提供我自己的 JSON 字符串作为来自 Django 视图的响应:

return JsonResponse(aggr.aggregated.to_json(orient='values'))

但是,在上面的代码中,Django 尝试序列化我的 JSON 字符串。

如何JsonResponse专门用于将 Content-Type 标头设置为 application/json 但序列化已经序列化的字符串?

标签: pythonjsondjango

解决方案


JsonResponse如果您不希望它为您编码 JSON,则使用没有任何好处。

只需HttpResponse自己使用和设置内容类型标头:

return HttpResponse(
    aggr.aggregated.to_json(orient='values'), 
    content_type='application/json' 
)

推荐阅读