Python对象类型转换json数据的例子

有时候,在Django的model中,直接查询出来的orm对象,想直接转成json会报错:

TypeError is not JSON serializable

def convert_to_builtin_type(obj):
    # print 'default(', repr(obj), ')'
    # Convert objects to a dictionary of btheir representation
    d = { '__class__':obj.__class__.__name__,
          '__module__':obj.__module__,
        }
    d.update(obj.__dict__)
    return d

然后在函数中调用:

ip = Ip.objects.filter(ip=ip)
context = {'ip': list(ip)}
return HttpResponse(json.dumps(context, ensure_ascii=False, indent=4, default=convert_to_builtin_type))

如上先filter出ip=ip的条目保存在ip变量中,然后格式化下保存在context变量中。调用时放在default中。

如果喜欢pythonic,可以用下面lambda方式搞定:

return HttpResponse(json.dumps(context, ensure_ascii=False, indent=4, default=lambda o: o.__dict__))

时间: 2024-10-27 13:25:32

Python对象类型转换json数据的例子的相关文章

Python对象转JSON数据示例

在Python对于简单的对象转json还是比较简单的,如下 import json d = {'a': 'aaa', 'b': ['b1', 'b2', 'b3'], 'c': 100} json_str = json.dumps(d) print json_str 对于复杂对象,可以使用下面的方法来实现,比如: import json class Customer:     def __init__(self, name, grade, age, home, office):        

Android利用Gson实现对象和Json数据的相互转换

MainActitity如下: package cc.test; import android.app.Activity; import android.os.Bundle; /** * Demo描述: * 利用Gson实现对象和Json数据的相互转换 * * Demo描述: * 通过一个网络请求,获取JSON数据 * * 注意: * 1 网络请求的参数是JSON格式的数据 * 2 请求结果返回的亦是JSON格式的数据 * */ public class MainActivity extends

jqGrid获取到python返回的Json数据,未能显示到页面上,为毛???

问题描述 jqGrid获取到python返回的Json数据,未能显示到页面上,为毛???  写道 解决方案 上面的链接搞乱了,看这个:http://www.trirand.com/jqgridwiki/doku.php?id=wiki:retrieving_data&s[]=json#json_data解决方案二:你的后台返回的相应数据格式不对啊,jqgrid有要求的:看=json#json_data]官方文档这里

【Python】python对象与json相互转换

在网络通信中,json是一种常用的数据格式,对于python来讲,将类转化为json数据以及将json数据转化为对象是一件非常容易的事情. 下面给出两者转化的方法 # -*- coding: UTF-8 -*- import json #自定义类 class MyClass: #初始化 def __init__(self): self.a=2 self.b='bb' ########################## #创建MyClass对象 myClass=MyClass() #添加数据c

【JSON 注解】JSON循环引用2----JSON注解@JsonIgnoreProperties+JAVA关键字transient+后台对象与JSON数据的格式互相转化

接着来说这个JSON循环引用的问题: 关于JSON格式的转化,其实关键就是这几个依赖: 1 <!-- json --> 2 3 <!-- 1号 --> 4 <dependency> 5 <groupId>com.fasterxml.jackson.core</groupId> 6 <artifactId>jackson-core</artifactId> 7 <version>2.8.1</version

Go语言中转换JSON数据简单例子_Golang

Go语言转换JSON数据真是非常的简单. 以EasyUI的Demo为例,将/demo/datagrid/datagrid_data1.json 拷贝到$GOPATH/src目录: JSON.go: 复制代码 代码如下: package main import (         "encoding/json"         "fmt"         "io/ioutil" ) type product struct {         Pro

php返回json数据函数例子

json_encode()函数用法. echo json_encode(array('a'=>'bbbb','c'=>'ddddd'); 这样就会生成一个标准的json格式的数据  代码如下 复制代码 <?php //需要执行的SQL语句 //单条 $sql="select id,name from tbl_user where id=1"; //多条数据 //$sql="select id,name from tbl_user"; //调用con

php 生成JSON数据的例子

折腾了好久主题 结果发现本地搭的有问题 索性不折腾了?(?^?)? 在百度贴吧里POST的时候 经常要通过JSON获取一些值 那么PHP如何实现输出JSON数据呢? 其实PHP里已经有'json_encode'函数了  代码如下 复制代码 <?php $array = array( 'Newest_Ver' => 'None', 'API_List' => 'http://www.111cn.net/', 'Announcement' => 'None' ); $result =

javascript数组与对象中json数据详解

比如下面这个user对象:  代码如下 复制代码 function user(n, a) {     this.name = n;     this.age = a;     this.toString = function() {         return "Name:" + this.name + ", Age:" + this.age;     } } var u = new user("tom", 18); for (var k in