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中用PIL库批量给图片加上序号的教程
May 06 Python
基于Python3 逗号代码 和 字符图网格(详谈)
Jun 22 Python
使用apidocJs快速生成在线文档的实例讲解
Feb 07 Python
对python 数据处理中的LabelEncoder 和 OneHotEncoder详解
Jul 11 Python
对PyTorch torch.stack的实例讲解
Jul 30 Python
django从请求到响应的过程深入讲解
Aug 01 Python
Python图像的增强处理操作示例【基于ImageEnhance类】
Jan 03 Python
Django 实现前端图片压缩功能的方法
Aug 07 Python
利用Python复制文件的9种方法总结
Sep 02 Python
Python qrcode 生成一个二维码的实例详解
Feb 12 Python
Django models文件模型变更错误解决
May 11 Python
Django执行源生mysql语句实现过程解析
Nov 12 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
php合并数组array_merge函数运算符加号与的区别
2008/10/31 PHP
使用ThinkPHP自带的Http类下载远程图片到本地的实现代码
2011/08/02 PHP
PHP操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)
2011/11/10 PHP
设置php页面编码的两种方法示例介绍
2014/03/03 PHP
PHP实现将textarea的值根据回车换行拆分至数组
2015/06/10 PHP
php实现图片上传并利用ImageMagick生成缩略图
2016/03/14 PHP
phpmailer简单发送邮件的方法(附phpmailer源码下载)
2016/06/13 PHP
使用jQuery jqPlot插件绘制柱状图
2014/12/18 Javascript
JavaScript使用setTimeout实现延迟弹出警告框的方法
2015/04/07 Javascript
浅谈javascript的Array.prototype.slice.call
2015/08/31 Javascript
jQuery ajax时间差导致的变量赋值问题分析
2016/01/22 Javascript
js 声明数组和向数组中添加对象变量的简单实例
2016/07/28 Javascript
Javascript中引用类型传递的知识点小结
2017/03/06 Javascript
vue使用技巧及vue项目中遇到的问题
2018/06/04 Javascript
基于jQuery使用Ajax动态执行模糊查询功能
2018/07/05 jQuery
原生JS实现的轮播图功能详解
2018/08/06 Javascript
解决betterScroll在vue中存在图片时,出现拉不动的问题
2018/09/27 Javascript
jQuery 动态粒子效果示例代码
2020/07/07 jQuery
[02:00]最后,我终于出了辉耀
2018/03/27 DOTA
python根据给定文件返回文件名和扩展名的方法
2015/03/27 Python
详解Python中的__new__()方法的使用
2015/04/09 Python
Python处理Excel文件实例代码
2017/06/20 Python
Python实现PS图像调整颜色梯度效果示例
2018/01/25 Python
实例讲解Python脚本成为Windows中运行的exe文件
2019/01/24 Python
pytorch中的embedding词向量的使用方法
2019/08/18 Python
Python把图片转化为pdf代码实例
2020/07/28 Python
Python爬取网页信息的示例
2020/09/24 Python
澳大利亚领先的在线美容商城:Adore Beauty
2017/04/14 全球购物
Gina Bacconi官网:吉娜贝康尼连衣裙和礼服
2018/04/24 全球购物
巴西美妆购物网站:Kutiz Beauté
2019/03/13 全球购物
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
2013/04/11 面试题
个人租房协议书
2014/04/09 职场文书
银行保安拾金不昧表扬稿
2015/05/05 职场文书
优胜劣汰,强者为王——读《鲁滨逊漂流记》有感
2019/08/15 职场文书
告别网页搜索!教你用python实现一款属于自己的翻译词典软件
2021/06/03 Python
MySQL定时备份数据库(全库备份)的实现
2021/09/25 MySQL