zoukankan      html  css  js  c++  java
  • 类对象序列化为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

  • 相关阅读:
    RS232串口通信详解
    VS2010 常用的快捷键
    Qt .pro文件详解
    Qt 编译出现 error LNK2019: 无法解析的外部符号
    LabVIEW部分视觉函数中文解说
    NI Vision 介绍
    LabVIEW的优点
    VisionPro和Halcon的详细对比
    康耐视软件VisionPro-max-u与VisionPro-plus-u的区别
    TensorFlow 介绍
  • 原文地址:https://www.cnblogs.com/reyinever/p/8613582.html
Copyright © 2011-2022 走看看