Python 之 Json序列化嵌套类方式

 更新时间:2020年02月27日 16:31:52   作者:IT-蓝月  
今天小编就为大家分享一篇Python 之 Json序列化嵌套类方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

想要用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)

执行效果:

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

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

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

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

您可能感兴趣的文章:

相关文章

  • python区分不同数据类型的方法

    python区分不同数据类型的方法

    这篇文章主要介绍了python区分不同数据类型的方法实例以及相关知识点,需要的朋友们学习下。
    2019-10-10
  • Python新版极验验证码识别验证码教程详解

    Python新版极验验证码识别验证码教程详解

    这篇文章主要介绍了Python新版极验验证码识别验证码,极验验证是一种在计算机领域用于区分自然人和机器人的,通过简单集成的方式,为开发者提供安全、便捷的云端验证服务
    2023-02-02
  • python3安装speech语音模块的方法

    python3安装speech语音模块的方法

    今天小编就为大家分享一篇python3安装speech语音模块的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • Django处理多用户类型的方法介绍

    Django处理多用户类型的方法介绍

    这篇文章主要给大家介绍了关于Django处理多用户类型的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Django具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • Python中的类型提示(Type Hints)总结

    Python中的类型提示(Type Hints)总结

    Python3.5 版本引入了类型提示(Type Hints),它允许开发者在代码中显式地声明变量、函数、方法等的类型信息,下面小编就来带大家一起看看Python类型提示的初步使用吧
    2023-05-05
  • Python爬虫入门教程02之笔趣阁小说爬取

    Python爬虫入门教程02之笔趣阁小说爬取

    这篇文章主要介绍了Python爬虫入门教程02之笔趣阁小说爬取,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • 15个最近才知道的Python实用操作

    15个最近才知道的Python实用操作

    这篇文章主要和大家分享了15个最近才知道的Python实用操作,文中的示例代码讲解详细,对我们深入了解Python有一定的帮助,感兴趣的小伙伴可以了解一下
    2023-04-04
  • 自己用python做的一款超炫酷音乐播放器

    自己用python做的一款超炫酷音乐播放器

    这篇文章主要介绍了自己用python做的一款超炫酷音乐播放器,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • python实现决策树分类算法代码示例

    python实现决策树分类算法代码示例

    决策树分类算法是最为常见的一种分类算法,通过属性划分来建立一棵决策树,测试对象通过在树上由顶向下搜索确定所属的分类,下面这篇文章主要给大家介绍了关于python实现决策树分类算法的相关资料,需要的朋友可以参考下
    2022-06-06
  • 用python实现弹球小游戏

    用python实现弹球小游戏

    大家好,本篇文章主要讲的是用python实现弹球小游戏,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01

最新评论