欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python 之 Json序列化嵌套類方式

 更新時間:2020年02月27日 16:31:52   作者:IT-藍月  
今天小編就為大家分享一篇Python 之 Json序列化嵌套類方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

想要用python自已手動序列化嵌套類,就要明白兩個問題:

1.Json是什么?

2.Json支持什么類型?

答案顯而易見

Json就是嵌套對象

Json在python中支持列表,字典(當然也支持int,string.....,不過說這個也沒多大必要)

很好,等等,列表,字典?我們在python中學(xué)過列表,字典,字典列表,列表字典,字典字典,那,我們可不可以把類對象轉(zhuǎn)化為這些呢?

我可以很確定的告訴你,可以,并且,嵌套類都可以?。?!

下面就來實戰(zhàn):

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)

執(zhí)行效果:

很多人會說,第五種才是我想要的,前面四種不是標準的json數(shù)據(jù),剛開始確實是這樣認為的,但是。。。

1.如果你處理的兩個嵌套類是數(shù)據(jù)庫的呢?假比如一對多的關(guān)系型數(shù)據(jù)庫,method3不是一個很好的選擇么?

2.如果你處理的兩個嵌套類是包含關(guān)系呢?method2不是一個很好的選擇么?

以上這篇Python 之 Json序列化嵌套類方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:

相關(guān)文章

  • 利用Matlab提取圖片曲線

    利用Matlab提取圖片曲線

    一張圖片,怎樣才可以提取里面曲線的數(shù)據(jù),從而協(xié)助我們完成其他需要的數(shù)據(jù)呢?本文通過示例來進行說明,文中大量的代碼以及圖片都可以幫助小伙伴們了解
    2021-08-08
  • python隨機獲取列表中某一元素的方法

    python隨機獲取列表中某一元素的方法

    本文主要介紹了python隨機獲取列表中某一元素的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • python PIL中ImageFilter模塊圖片濾波處理和使用方法

    python PIL中ImageFilter模塊圖片濾波處理和使用方法

    這篇文章主要介紹PIL中ImageFilter模塊幾種圖片濾波處理和使用方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-11-11
  • Python實現(xiàn)的掃碼工具居然這么好用!

    Python實現(xiàn)的掃碼工具居然這么好用!

    二維碼作為一種信息傳遞的工具在當今社會發(fā)揮了重要作用.從手機用戶登錄到手機支付,生活的各個角落都能看到二維碼的存在.那你知道二維碼是怎么解析的嗎?有想過自己實現(xiàn)一個掃碼工具嗎?如果想的話就繼續(xù)看下去吧!需要的朋友可以參考下
    2021-06-06
  • ubuntu安裝jupyter并設(shè)置遠程訪問的實現(xiàn)

    ubuntu安裝jupyter并設(shè)置遠程訪問的實現(xiàn)

    Jupyter?Notebook是Ipython的升級版,而Ipython可以說是一個加強版的交互式Shell,本文主要介紹了ubuntu安裝jupyter并設(shè)置遠程訪問的實現(xiàn),感興趣的可以了解一下
    2022-03-03
  • 基于Python實現(xiàn)一個簡單的銀行轉(zhuǎn)賬操作

    基于Python實現(xiàn)一個簡單的銀行轉(zhuǎn)賬操作

    這篇文章主要介紹了基于Python實現(xiàn)一個簡單的銀行轉(zhuǎn)賬操作的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • python 動態(tài)加載的實現(xiàn)方法

    python 動態(tài)加載的實現(xiàn)方法

    腳本語言都有一個優(yōu)點,就是動態(tài)加載,python也有這個特性。這篇文章主要介紹了python 動態(tài)加載的實現(xiàn)方法,需要的朋友可以參考下
    2017-12-12
  • Numpy中ndim、shape、dtype、astype的用法詳解

    Numpy中ndim、shape、dtype、astype的用法詳解

    這篇文章主要介紹了Numpy中ndim、shape、dtype、astype的用法詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • python通過elixir包操作mysql數(shù)據(jù)庫實例代碼

    python通過elixir包操作mysql數(shù)據(jù)庫實例代碼

    這篇文章主要介紹了python通過elixir包操作mysql數(shù)據(jù)庫,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • Python OpenCV 針對圖像細節(jié)的不同操作技巧

    Python OpenCV 針對圖像細節(jié)的不同操作技巧

    這篇文章主要介紹了Python OpenCV 針對圖像細節(jié)的不同操作,包括圖像像素的說明,圖像屬性信息的獲取與修改以及圖像通道的知識(包括拆分通道和合并通道),需要的朋友可以參考下
    2021-08-08

最新評論