Python: 自定义类对象序列化为Json串
之前已经实现了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串相关推荐
- JavaScriptSerializer类 对象序列化为JSON,JSON反序列化为对象
JavaScriptSerializer 类由异步通信层内部使用,用于序列化和反序列化在浏览器和 Web 服务器之间传递的数据.说白了就是能够直接将一个C#对象传送到前台页面成为javascript对 ...
- php直接json_encnode对象,将PHP对象序列化为JSON
所以我在 php.net左右徘徊,了解有关将PHP对象序列化为JSON的信息,当我偶然发现新的 JsonSerializable Interface时.它只有PHP> = 5.4,我在5.3.x ...
- js对象序列化为json字符串
网上找了找将js对象序列化为json字符串的方法.结果都不近人意,最后自己写了一个. 注意你得自己为Date增加toString()方法. function Serialize(obj){switch ...
- 关于DateTime对象序列化为Json之后的若干问题
将Datetime对象序列化成Json对象是常有的事情,微软的序列化方法会将Datetime对象序列化成一个字符串: "\/Date(1234656000000)\/" 这样的字符 ...
- 如何把实体类对象转化为json(json转实体类对象)
使用fastjson框架解决实体类转json的问题(实体类要序列化哦,如 实体类 implements Serializable ) 1.序列化(实体类转json,text为json数据,user为 ...
- 对象序列化成JSON格式
json是一种轻量级的数据交换语言,将对象序列化为json格式,可以在网络上传输,且各个平台都有成熟的工具,可以很快的将json反序列化为对应语言所需要的格式. 将java对象序列化为json格式关键 ...
- Python: Json串反序列化为自定义类对象
最近刚接触到python,就想到了如何反序列化json串.网上找了一下,大部分都是用json模块反序列化为python数据结构(字典和列表).如果对json模块不了解的参考菜鸟教程.然后我在此基础上将 ...
- python类定义中、对象字符串的特殊方法是_python中自定义类对象json字符串化的方法_python json转字符串、...
python中自定义类对象json字符串化的方法 1. 用 json 或者simplejson 就可以 2.定义转换函数: def convert_to_builtin_type(obj): prin ...
- python 数据库查询序列化_python-将sqlalchemy类序列化为json
我正在尝试将sqlalchemy查询的结果(列表)序列化为json. 这是课程: class Wikilink(Base): __tablename__='Wikilinks' __table_arg ...
最新文章
- Sublime Text3配置Node.js开发环境
- Smart template的控件能否当成普通控件来用
- wordpress wpdb-update 能获取更新的id嘛?_WordPress 投稿页上传图片,支持游客上传
- 最轻量级的C协程库:Protothreads
- BlockChain:《区块链世界简明生存指南(一块听听)》2017-06-06 李笑来—听课笔记分享(2)
- JavaScript模块化不算漫长的发展史
- 趣谈程序员真香定律:源码即设计
- crf模型 java_定制你自己的CRF模型
- SQL必知必会-存储过程
- mysql 字符串取前缀_mysql截取字符串的函数总结
- bboss v5.5.3 发布,Elasticsearch Rest Client
- 2021数据安全与个人信息保护技术白皮书
- mysql如何备份数据库_MySQL如何备份数据库
- JavaScript 浏览器端 this的指向性问题
- 书单(三)-从小到大课外阅读书籍顺序
- CF 339C Xenia and Weights 背包
- 图片旋转90度解决办法
- SCAU华南农业大学-数电实验-用74LS283实现2*4乘法器
- 2021-4-13大学化学无机原理(7)酸碱质子理论,弱酸碱及两性物质溶液计算
- word课程表设置符号与编号_Word2003文档怎么添加编号
热门文章
- boost:regex分割字符串(带有'\'字符) - zzusimon的专栏 - 博客频道 - CSDN.NET
- ORA-00845 方案解决
- 面试题 04.08. 首个共同祖先
- Python中的第三方模块(微信为例)
- Python——腾讯笔试编程题(函数练习)
- 打印表格_Excel表格打印技巧,让你分分钟打印出完美表格!建议收藏!
- 圣诞限定快乐,送3本技术好书
- YFI 创始人 Andre Cronje:有四个新产品待发布,但担心在推出后被分叉
- “北京链安”近日更名为“中科链安”
- Flask+Axios+jQuery构建前后端通信的小例子