类对象序列化为json串,json串反序列化为类对象
1.类对象序列化为json串:
方法一:
class P(object):
def __init__(self,name,age,sex):
self.name=name
self.age=age
self.sex=sex
def obj_json(self,obj_instance):
return{
"name":obj_instance.name,
"age":obj_instance.age,
"sex":obj_instance.sex}
p=P("tom",21,"male")
print json.dumps(p,default=p.obj_json)
方法二:
class P(object):
def __init__(self,name,age,sex):
self.name=name
self.age=age
self.sex=sex
p=P("jim",34,"male")
print p.__dict__
print json.dumps(p,default=lambda p:p.__dict__)
print json.dumps(p,default=lambda P:P.__dict__)
2.json串反序列化为类对象:
class P(object):
def __init__(self,name,age,sex):
self.name=name
self.age=age
self.sex=sex
p=P("lucy",21,"female")
json_str='{"name":"lucy","age":21,"sex":"female"}'
def jsonToClass(p):
return P(p["name"],p["age"],p["sex"])
print json.loads(json_str,object_hook=jsonToClass)
print p.name
类对象序列化为json串,json串反序列化为类对象的更多相关文章
- spring mvc接收ajax提交的JSON数据,并反序列化为对象
		
需求:spring mvc接收ajax提交的JSON数据,并反序列化为对象,代码如下: 前台JS代码: //属性要与带转化的对象属性对应 var param={name:'语文',price:16}; ...
 - C# Newtonsoft.Json反序列化为dynamic对象之后的使用
		
通过Newtonsoft.Json将一个json类型的字符串反序列化为dynamic后直接使用报错 源代码: namespace ConsoleApplication1 { class Program ...
 - Python: 自定义类对象序列化为Json串
		
之前已经实现了Python: Json串反序列化为自定义类对象,这次来实现了Json的序列化. 测试代码和结果如下: import Json.JsonTool class Score: math = ...
 - Python: Json串反序列化为自定义类对象
		
最近刚接触到python,就想到了如何反序列化json串.网上找了一下,大部分都是用json模块反序列化为python数据结构(字典和列表).如果对json模块不了解的参考菜鸟教程.然后我在此基础上将 ...
 - 使用DataContractJsonSerializer类将类型实例序列化为JSON字符串和反序列化为实例对象                                                       分类:            JSON             前端             2014-11-10 10:20    97人阅读    评论(1)    收藏
		
一.JSON简介 JSON(JavaScript Object Notation,JavaScript对象表示法)是一种轻量级的数据交换格式. JSON是"名值对"的集合.结构由大 ...
 - JavaScriptSerializer类 对象序列化为JSON,JSON反序列化为对象
		
JavaScriptSerializer 类由异步通信层内部使用,用于序列化和反序列化在浏览器和 Web 服务器之间传递的数据.说白了就是能够直接将一个C#对象传送到前台页面成为javascript对 ...
 - JavaScriptSerializer类 对象序列化为JSON,JSON反序列化为对象 。
		
JavaScriptSerializer 类由异步通信层内部使用,用于序列化和反序列化在浏览器和 Web 服务器之间传递的数据.说白了就是能够直接将一个C#对象传送到前台页面成为javascript对 ...
 - Json串的字段如果和类中字段不一致,如何映射、转换?
		
Json串是我们现在经常会遇到的一种描述对象的字符串格式.在用Java语言开发的功能中,也经常需要做Json串与Java对象之间的转换. fastjson就是经常用来做Json串与Java对象之间的转 ...
 - JS对象序列化为JSON对象的方法
		
var $ = $ || {}; /** * 将JS对象序列化为JSON字符串 * @param {Mixed} o The variable to decode * @return {String} ...
 
随机推荐
- Spring Boot JPA的Column Table 注解命名字段无效
			
@Table(name = "OrderInfo") @Entity public class OrderInfo { @Id @GeneratedValue private Lo ...
 - 【BZOJ2560】串珠子
			
题解: 跟n个点有标号的无向连通图个数几乎一模一样 直接上代码了 代码: #include <bits/stdc++.h> using namespace std; #define ll ...
 - raspberry pi恢复jessie镜像之后
			
1.更新源 nano /etc/apt/source.list deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib ...
 - 【Android】Android 手机忘记锁屏密码的解决办法
			
对于忘记Android锁屏密码的筒子们,除重新刷包或者wipe data外,还可用adb来删除密码: 方法很简单 1.手机连接电脑,不要打开数据连接,在充电模式下进行. 2.在电脑上,解压adb.zi ...
 - Office 2010 word无法创建工作文件 请检查临时环境变量 的解决办法
			
Office 2010 word无法创建工作文件 请检查临时环境变量 的解决办法 http://hi.baidu.com/netshen/item/207fd935d452e0e9df2221c9 如 ...
 - 常见内网IP段
			
以下IP段为内网IP段: 192.168.0.0 - 192.168.255.255 172.16.0.0 - 172.31.255.255 10.0.0.0 - 10.255.255.255
 - RocketMQ 启动停止命令
			
1.rocketmq的启动 进入rocketMQ解压目录下的bin文件夹 启动namesrv服务:nohup sh bin/mqnamesrv & 日志目录:{rocketMQ解压目录} ...
 - TopCoder SRM500 Div1 1000 其他
			
原文链接https://www.cnblogs.com/zhouzhendong/p/SRM500-1000.html SRM500 Div1 1000 设 \(v_1,v_2,\cdots ,v_9 ...
 - JDK5的新特性之增强for循环遍历数组或集合
			
[格式] for(元素的类型 变量名 : 数组或Collection集合名){ //此处使用变量名即可,该变量就是普通for里的i. }
 - springmvc基础使用配置
			
前言 本案例是在idea编辑器下,maven管理项目的前提下. 步骤 1.新建maven项目 2.配置web.xml <?xml version="1.0" encoding ...