博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
类对象序列化为json串,json串反序列化为类对象
阅读量:4567 次
发布时间:2019-06-08

本文共 874 字,大约阅读时间需要 2 分钟。

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

 

转载于:https://www.cnblogs.com/reyinever/p/8613582.html

你可能感兴趣的文章
“模板”学习笔记(5)-----编译器在处理函数模板的时候都干了啥
查看>>
教你用shell写CGI程序
查看>>
窗口 对话框 Pop Dialog 示例
查看>>
ubuntu(centos) server安装vmware tools
查看>>
数据结构之最大不重复串
查看>>
为什么要配置sdk-tools/platform-toools?
查看>>
自己动手开发更好用的markdown编辑器-07(扩展语法)
查看>>
maven dependency:tree中反斜杠的含义
查看>>
队列的循环队列
查看>>
程序中的日期格式
查看>>
大众点评CAT错误总结以及解决思路
查看>>
从0开始学爬虫3之xpath的介绍和使用
查看>>
Shell成长之路
查看>>
vim下正则表达式的非贪婪匹配
查看>>
一个python的计算熵(entropy)的函数
查看>>
spring源码学习——spring整体架构和设计理念
查看>>
模拟window系统的“回收站”
查看>>
OpenCV中的split函数
查看>>
MongoDB divide 使用之mongotempalte divide
查看>>
SSH不允许进行DNS解析
查看>>