之前已经实现了Python: Json串反序列化为自定义类对象,这次来实现了Json的序列化。

测试代码和结果如下:

import Json.JsonToolclass Score:math = 0chinese = 0class Book:name = ''type = ''class Student:id = ''name = ''score = Score()books = [Book()]student = Student()json_data = '{"id":"123", "name":"kid", "score":{"math":100, "chinese":98}, ' \'"books":[{"name":"math", "type":"study"}, ' \'{"name":"The Little Prince", "type":"literature"}]} '
Json.JsonTool.json_deserialize(json_data, student)print(student.name)
print(student.score.math)
print(student.books[1].name)student_str = Json.JsonTool.json_serialize(student)
print(student_str)input("\n按回车键退出。")

运行结果:

kid
100
The Little Prince
{"books": [{"name": "math", "type": "study"}, {"name": "The Little Prince", "type": "literature"}], "id": "123", "name": "kid", "score": {"chinese": 98, "math": 100}}按回车键退出。

实现代码如下:

def json_serialize(obj):obj_dic = class2dic(obj)return json.dumps(obj_dic)def class2dic(obj):obj_dic = obj.__dict__for key in obj_dic.keys():value = obj_dic[key]obj_dic[key] = value2py_data(value)return obj_dicdef value2py_data(value):if str(type(value)).__contains__('.'):# value 为自定义类value = class2dic(value)elif str(type(value)) == "<class 'list'>":# value 为列表for index in range(0, value.__len__()):value[index] = value2py_data(value[index])return value

转载于:https://www.cnblogs.com/magic8sky/p/10482073.html

Python: 自定义类对象序列化为Json串相关推荐

  1. JavaScriptSerializer类 对象序列化为JSON,JSON反序列化为对象

    JavaScriptSerializer 类由异步通信层内部使用,用于序列化和反序列化在浏览器和 Web 服务器之间传递的数据.说白了就是能够直接将一个C#对象传送到前台页面成为javascript对 ...

  2. php直接json_encnode对象,将PHP对象序列化为JSON

    所以我在 php.net左右徘徊,了解有关将PHP对象序列化为JSON的信息,当我偶然发现新的 JsonSerializable Interface时.它只有PHP> = 5.4,我在5.3.x ...

  3. js对象序列化为json字符串

    网上找了找将js对象序列化为json字符串的方法.结果都不近人意,最后自己写了一个. 注意你得自己为Date增加toString()方法. function Serialize(obj){switch ...

  4. 关于DateTime对象序列化为Json之后的若干问题

    将Datetime对象序列化成Json对象是常有的事情,微软的序列化方法会将Datetime对象序列化成一个字符串: "\/Date(1234656000000)\/" 这样的字符 ...

  5. 如何把实体类对象转化为json(json转实体类对象)​

    使用fastjson框架解决实体类转json的问题(实体类要序列化哦,如  实体类 implements Serializable ) 1.序列化(实体类转json,text为json数据,user为 ...

  6. 对象序列化成JSON格式

    json是一种轻量级的数据交换语言,将对象序列化为json格式,可以在网络上传输,且各个平台都有成熟的工具,可以很快的将json反序列化为对应语言所需要的格式. 将java对象序列化为json格式关键 ...

  7. Python: Json串反序列化为自定义类对象

    最近刚接触到python,就想到了如何反序列化json串.网上找了一下,大部分都是用json模块反序列化为python数据结构(字典和列表).如果对json模块不了解的参考菜鸟教程.然后我在此基础上将 ...

  8. python类定义中、对象字符串的特殊方法是_python中自定义类对象json字符串化的方法_python json转字符串、...

    python中自定义类对象json字符串化的方法 1. 用 json 或者simplejson 就可以 2.定义转换函数: def convert_to_builtin_type(obj): prin ...

  9. python 数据库查询序列化_python-将sqlalchemy类序列化为json

    我正在尝试将sqlalchemy查询的结果(列表)序列化为json. 这是课程: class Wikilink(Base): __tablename__='Wikilinks' __table_arg ...

最新文章

  1. Sublime Text3配置Node.js开发环境
  2. Smart template的控件能否当成普通控件来用
  3. wordpress wpdb-update 能获取更新的id嘛?_WordPress 投稿页上传图片,支持游客上传
  4. 最轻量级的C协程库:Protothreads
  5. BlockChain:《区块链世界简明生存指南(一块听听)》2017-06-06 李笑来—听课笔记分享(2)
  6. JavaScript模块化不算漫长的发展史
  7. 趣谈程序员真香定律:源码即设计
  8. crf模型 java_定制你自己的CRF模型
  9. SQL必知必会-存储过程
  10. mysql 字符串取前缀_mysql截取字符串的函数总结
  11. bboss v5.5.3 发布,Elasticsearch Rest Client
  12. 2021数据安全与个人信息保护技术白皮书
  13. mysql如何备份数据库_MySQL如何备份数据库
  14. JavaScript 浏览器端 this的指向性问题
  15. 书单(三)-从小到大课外阅读书籍顺序
  16. CF 339C Xenia and Weights 背包
  17. 图片旋转90度解决办法
  18. SCAU华南农业大学-数电实验-用74LS283实现2*4乘法器
  19. 2021-4-13大学化学无机原理(7)酸碱质子理论,弱酸碱及两性物质溶液计算
  20. word课程表设置符号与编号_Word2003文档怎么添加编号

热门文章

  1. boost:regex分割字符串(带有'\'字符) - zzusimon的专栏 - 博客频道 - CSDN.NET
  2. ORA-00845 方案解决
  3. 面试题 04.08. 首个共同祖先
  4. Python中的第三方模块(微信为例)
  5. Python——腾讯笔试编程题(函数练习)
  6. 打印表格_Excel表格打印技巧,让你分分钟打印出完美表格!建议收藏!
  7. 圣诞限定快乐,送3本技术好书
  8. YFI 创始人 Andre Cronje:有四个新产品待发布,但担心在推出后被分叉
  9. “北京链安”近日更名为“中科链安”
  10. Flask+Axios+jQuery构建前后端通信的小例子