Django中如何深入探讨json序列化的高级应用?

2026-05-28 22:010阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1152个文字,预计阅读时间需要5分钟。

Django中如何深入探讨json序列化的高级应用?

JSON字符串是当前流行的数据交换格式,在Python中,我们通过json模块,将常用的数据类型转换为JSON字符串。然而,json支持转化的数据类型是有限的。例如,我们通过ORM从数据库获取的数据类型需要符合JSON的转换规则。

我们知道JSON字符串是目前流行的数据交换格式,在pyhton中我们通过json模块,将常用的数据类型转化为json字符串。但是,json支持转化的数据类型是有限的。

比如,我们通过ORM从数据库查询出的结果,试图通过json序列化:

from .models import UserInfo def index(request): user_list = UserInfo.objects.all() import json return HttpResponse(json.dumps(user_list)) # TypeError: Object of type 'QuerySet' is not JSON serializable

报错,QuerySet不是JSON能序列化的对象。那么有什么办法可以解决呢?

注意,如果是通过values查询,如UserInfo.objects.values("name"),查询出来的结果虽然也是QuerySet对象,但是其结构是这样的:<QuerySet [{'name': 'egon'}, {'name': 'sb'}]>, 类似于列表套字典的结构。对于这种情况,我们可以通过list()方法将QuerySet 对象转化为列表,这样就可以直接用json.dumps()进行序列化了。

阅读全文

本文共计1152个文字,预计阅读时间需要5分钟。

Django中如何深入探讨json序列化的高级应用?

JSON字符串是当前流行的数据交换格式,在Python中,我们通过json模块,将常用的数据类型转换为JSON字符串。然而,json支持转化的数据类型是有限的。例如,我们通过ORM从数据库获取的数据类型需要符合JSON的转换规则。

我们知道JSON字符串是目前流行的数据交换格式,在pyhton中我们通过json模块,将常用的数据类型转化为json字符串。但是,json支持转化的数据类型是有限的。

比如,我们通过ORM从数据库查询出的结果,试图通过json序列化:

from .models import UserInfo def index(request): user_list = UserInfo.objects.all() import json return HttpResponse(json.dumps(user_list)) # TypeError: Object of type 'QuerySet' is not JSON serializable

报错,QuerySet不是JSON能序列化的对象。那么有什么办法可以解决呢?

注意,如果是通过values查询,如UserInfo.objects.values("name"),查询出来的结果虽然也是QuerySet对象,但是其结构是这样的:<QuerySet [{'name': 'egon'}, {'name': 'sb'}]>, 类似于列表套字典的结构。对于这种情况,我们可以通过list()方法将QuerySet 对象转化为列表,这样就可以直接用json.dumps()进行序列化了。

阅读全文