溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python 之 Json序列化嵌套類方式

發(fā)布時間:2020-09-08 11:46:16 來源:腳本之家 閱讀:170 作者:IT-藍月 欄目:開發(fā)技術(shù)

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

1.Json是什么?

2.Json支持什么類型?

答案顯而易見

Json就是嵌套對象

Json在python中支持列表,字典(當(dāng)然也支持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í)行效果:

Python 之 Json序列化嵌套類方式

Python 之 Json序列化嵌套類方式

Python 之 Json序列化嵌套類方式

Python 之 Json序列化嵌套類方式

Python 之 Json序列化嵌套類方式

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

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

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

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

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI