如何将Django模型对象序列化为JSON实例?

2026-05-28 21:340阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

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

如何将Django模型对象序列化为JSON实例?

提出序列化与反序列化,常会想到+JSON+、+XML+。在J2EE开发中,这是常用技术,类似一个java class与xml之间的序列化与反序列化,我们可以通过+xstream+来实现,如果是与JSON之间的转换。

提到序列化与反序列化,通常会想到 json ,xml .在J2EE的开发中,这是很常用的技术,比如一个java class与xml之间的序列化与反序列化,我们可以通过 xstream来实现,如果是与json之间的转换,我们可以通过 gson.jar或者jsonlib.jar 来实现。方法很多,也是常见的方法。

但在python 中,我们常用的是json 的序列化,python2.7 已经包含了json package,这个也是从simplejson 基础上改变而来。这个json 包主要提供了dump,load 来实现dict 与 字符串之间的序列化与反序列化,这很方便的可以完成,可以参考这篇文章python json。但现在的问题是,这个json包不能序列化 django 的models 里面的对象的实例。

经过分析,网络搜索,发现有如下解决方案.

利用 from django.core import serializers 的方法实现

from django.core import serializers data = serializers.serialize("json", SomeModel.objects.all()) data1 = serializers.serialize("json", SomeModel.objects.filter(myfield1=myvalue))

上面两个是没有问题的,因为序列化的对象是 Queryset, 因此是成功的。

阅读全文

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

如何将Django模型对象序列化为JSON实例?

提出序列化与反序列化,常会想到+JSON+、+XML+。在J2EE开发中,这是常用技术,类似一个java class与xml之间的序列化与反序列化,我们可以通过+xstream+来实现,如果是与JSON之间的转换。

提到序列化与反序列化,通常会想到 json ,xml .在J2EE的开发中,这是很常用的技术,比如一个java class与xml之间的序列化与反序列化,我们可以通过 xstream来实现,如果是与json之间的转换,我们可以通过 gson.jar或者jsonlib.jar 来实现。方法很多,也是常见的方法。

但在python 中,我们常用的是json 的序列化,python2.7 已经包含了json package,这个也是从simplejson 基础上改变而来。这个json 包主要提供了dump,load 来实现dict 与 字符串之间的序列化与反序列化,这很方便的可以完成,可以参考这篇文章python json。但现在的问题是,这个json包不能序列化 django 的models 里面的对象的实例。

经过分析,网络搜索,发现有如下解决方案.

利用 from django.core import serializers 的方法实现

from django.core import serializers data = serializers.serialize("json", SomeModel.objects.all()) data1 = serializers.serialize("json", SomeModel.objects.filter(myfield1=myvalue))

上面两个是没有问题的,因为序列化的对象是 Queryset, 因此是成功的。

阅读全文