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内置函数dir详解
Apr 14 Python
python实现图片变亮或者变暗的方法
Jun 01 Python
Python的多态性实例分析
Jul 07 Python
python列表操作之extend和append的区别实例分析
Jul 28 Python
Win7下搭建python开发环境图文教程(安装Python、pip、解释器)
May 17 Python
Python与人工神经网络:使用神经网络识别手写图像介绍
Dec 19 Python
python编程实现12306的一个小爬虫实例
Dec 27 Python
Python中的取模运算方法
Nov 10 Python
Python multiprocessing多进程原理与应用示例
Feb 28 Python
python 画函数曲线示例
Dec 04 Python
python logging通过json文件配置的步骤
Apr 27 Python
Python中常见的反爬机制及其破解方法总结
Jun 10 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输出xml必须header的解决方法
2014/10/17 PHP
PHP制作图形验证码代码分享
2014/10/23 PHP
PHP版本升级到7.x后wordpress的一些修改及wordpress技巧
2015/12/25 PHP
两种php实现图片上传的方法
2016/01/22 PHP
php array_reverse 以相反的顺序返回数组实例代码
2017/04/11 PHP
JS+PHP实现用户输入数字后显示最大的值及所在位置
2017/06/19 PHP
PHP实现的DES加密解密类定义与用法示例
2020/11/02 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
2020/02/21 PHP
JavaScript 的方法重载效果
2009/08/07 Javascript
细说javascript函数从函数的构成开始
2013/08/29 Javascript
js、css、img等浏览器缓存问题的2种解决方案
2013/10/23 Javascript
js获取指定的cookie的具体实现
2014/02/20 Javascript
jquery对象和javascript对象即DOM对象相互转换
2014/08/07 Javascript
JavaScript中的继承方式详解
2015/02/11 Javascript
input file上传 图片预览功能实例代码
2016/10/25 Javascript
vue2.0开发实践总结之入门篇
2016/12/06 Javascript
javascript工厂模式和构造函数模式创建对象方法解析
2016/12/30 Javascript
基于jQuery Easyui实现登陆框界面
2017/07/10 jQuery
用nodejs实现json和jsonp服务的方法
2017/08/25 NodeJs
浅谈使用nodejs搭建web服务器的过程
2020/07/20 NodeJs
Python的Django中将文件上传至七牛云存储的代码分享
2016/06/03 Python
django 按时间范围查询数据库实例代码
2018/02/11 Python
使用Python制作一个打字训练小工具
2019/10/01 Python
pytorch中torch.max和Tensor.view函数用法详解
2020/01/03 Python
python中PyQuery库用法分享
2021/01/15 Python
servlet面试题
2012/08/20 面试题
中英双版中文教师求职信
2013/10/27 职场文书
会计专业大学生职业生涯规划范文
2014/01/11 职场文书
《桃花心木》教学反思
2014/02/17 职场文书
单位租房协议书样本
2014/10/30 职场文书
2015年行政助理工作总结
2015/04/30 职场文书
2015年加油站站长工作总结
2015/05/27 职场文书
公文写作:教你写“建议书”
2019/05/07 职场文书
学会用Python实现滑雪小游戏,再也不用去北海道啦
2021/05/20 Python
SQL Server中使用判断语句(IF ELSE/CASE WHEN )案例
2021/07/07 SQL Server
聊聊mysql都有哪几种分区方式
2022/04/13 MySQL