Python 之 Json序列化嵌套类方式


Posted in Python onFebruary 27, 2020

想要用python自已手动序列化嵌套类,就要明白两个问题:

1.Json是什么?

2.Json支持什么类型?

答案显而易见

Json就是嵌套对象

Json在python中支持列表,字典(当然也支持int,string.....,不过说这个也没多大必要)

很好,等等,列表,字典?我们在python中学过列表,字典,字典列表,列表字典,字典字典,那,我们可不可以把类对象转化为这些呢?

我可以很确定的告诉你,可以,并且,嵌套类都可以!!!

下面就来实战:

from flask import Flask
import json
 
app = Flask(__name__)
 
class City():
  def __init__(self,country,provider):
    self.country = country
    self.provider = provider
 
 
class School():
  def __init__(self,country,provider,name,nums):
    self.city = City(country,provider)
    self.name = name
    self.nums = nums
 
 
@app.route('/method0')
def method0():
  school = School('china','shanxi','wutaizhongxue','2000')
 
  s_temp0 = [school.city.country,school.city.provider,school.name,school.nums]
  return json.dumps(s_temp0)
 
 
@app.route('/method1')
def method1():
  school = School('china','shanxi','wutaizhongxue','2000')
 
  s_temp1 = {'country':school.city.country,'provider':school.city.provider,'name':school.name,'nums':school.nums}
  return json.dumps(s_temp1)
 
 
@app.route('/method2')
def method2():
  school = School('china','shanxi','wutaizhongxue','2000')
 
  s_temp2 = [{'country':school.city.country,'provider':school.city.provider},school.name,school.nums]
  return json.dumps(s_temp2)
 
 
@app.route('/method3')
def method3():
  school = School('china','shanxi','wutaizhongxue','2000')
 
  s_temp3 = {'city':[school.city.country,school.city.provider],'name':school.name,'nums':school.nums}
  return json.dumps(s_temp3)
 
 
@app.route('/method4')
def method4():
  school = School('china','shanxi','wutaizhongxue','2000')
 
  s_temp4 = {'city':{'country':school.city.country,'provider':school.city.provider},'name':school.name,'nums':school.nums}
  return json.dumps(s_temp4)
 
 
if __name__ == '__main__':
  app.run(debug=True)

执行效果:

Python 之 Json序列化嵌套类方式

Python 之 Json序列化嵌套类方式

Python 之 Json序列化嵌套类方式

Python 之 Json序列化嵌套类方式

Python 之 Json序列化嵌套类方式

很多人会说,第五种才是我想要的,前面四种不是标准的json数据,刚开始确实是这样认为的,但是。。。

1.如果你处理的两个嵌套类是数据库的呢?假比如一对多的关系型数据库,method3不是一个很好的选择么?

2.如果你处理的两个嵌套类是包含关系呢?method2不是一个很好的选择么?

以上这篇Python 之 Json序列化嵌套类方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 根据pid杀死相应进程的方法
Jan 16 Python
Python基于pygame模块播放MP3的方法示例
Sep 30 Python
Python绘制七段数码管实例代码
Dec 20 Python
对Pandas MultiIndex(多重索引)详解
Nov 16 Python
对Python使用mfcc的两种方式详解
Jan 09 Python
python广度优先搜索得到两点间最短路径
Jan 17 Python
Python3中编码与解码之Unicode与bytes的讲解
Feb 28 Python
python画图把时间作为横坐标的方法
Jul 07 Python
通过字符串导入 Python 模块的方法详解
Oct 27 Python
Python基于traceback模块获取异常信息
Jul 23 Python
Python 图片处理库exifread详解
Feb 25 Python
教你怎么用PyCharm为同一服务器配置多个python解释器
May 31 Python
python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例
Feb 27 #Python
python GUI库图形界面开发之PyQt5控件数据拖曳Drag与Drop详细使用方法与实例
Feb 27 #Python
python脚本实现mp4中的音频提取并保存在原目录
Feb 27 #Python
python列表切片和嵌套列表取值操作详解
Feb 27 #Python
Python递归实现打印多重列表代码
Feb 27 #Python
Python各种扩展名区别点整理
Feb 27 #Python
python GUI库图形界面开发之PyQt5图片显示控件QPixmap详细使用方法与实例
Feb 27 #Python
You might like
星际争霸教主Flash的ID由来:你永远不会知道他之前的ID是www!
2019/01/18 星际争霸
smarty模板引擎之配置文件数据和保留数据
2015/03/30 PHP
PHP使用逆波兰式计算工资的方法
2015/07/29 PHP
php提交post数组参数实例分析
2015/12/17 PHP
Laravel框架模板继承操作示例
2018/06/11 PHP
提高代码性能技巧谈—以创建千行表格为例
2006/07/01 Javascript
js DOM模型操作
2009/12/28 Javascript
jQuery实现切换页面布局使用介绍
2011/10/09 Javascript
怎样在JavaScript里写一个swing把数据插入数据库
2012/12/10 Javascript
动态载入js提高网页打开速度的方法
2014/07/04 Javascript
jQuery实现平滑滚动到指定锚点的方法
2015/03/20 Javascript
JavaScript在Android的WebView中parseInt函数转换不正确问题解决方法
2015/04/25 Javascript
JS简单去除数组中重复项的方法
2016/09/13 Javascript
node.js中debug模块的简单介绍与使用
2017/04/25 Javascript
Vue2.5 结合 Element UI 之 Table 和 Pagination 组件实现分页功能
2018/01/26 Javascript
分享5个好用的javascript文件上传插件
2018/09/16 Javascript
浅谈React Event实现原理
2018/09/20 Javascript
jQuery实现点击图标div循环放大缩小功能
2018/09/30 jQuery
Vue多组件仓库开发与发布详解
2019/02/28 Javascript
JS实现烟花爆炸效果
2020/03/10 Javascript
javascript实现点击按钮切换轮播图功能
2020/09/23 Javascript
探寻python多线程ctrl+c退出问题解决方案
2014/10/23 Python
python使用wmi模块获取windows下硬盘信息的方法
2015/05/15 Python
Python设计模式编程中解释器模式的简单程序示例分享
2016/03/02 Python
Python实现k-means算法
2018/02/23 Python
Flask和Django框架中自定义模型类的表名、父类相关问题分析
2018/07/19 Python
重写django的model下的objects模型管理器方式
2020/05/15 Python
python爬虫要用到的库总结
2020/07/28 Python
matplotlib 画动态图以及plt.ion()和plt.ioff()的使用详解
2021/01/05 Python
DKNY品牌官网:纽约大都会时尚风格
2016/10/20 全球购物
最好的商品表达自己:Cafepress
2019/09/04 全球购物
英语专业求职信
2014/07/08 职场文书
教师优秀党员事迹材料
2014/08/14 职场文书
科级干部培训心得体会
2016/01/06 职场文书
《日月潭》教学反思
2016/02/20 职场文书
python文本处理的方案(结巴分词并去除符号)
2021/05/26 Python