Python 之 Json序列化巢狀類方式

2022-10-04 14:51:23 字數 1973 閱讀 7013

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

1.json是什麼?

2.json支援什麼型別?

答案顯而易見

json就是巢狀物件

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

很好,等等,列表,字典?我們在python中學過列表,字典,字典列表,列表字典,字典字典,那,我們可不可以把類物件轉化為這些呢?

我可以很確定的告訴你,可以,並且,巢狀類都可以!!!

下面就來實戰:

from flask import flask

import json

app = flask(__www.cppcns.comname__)

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 =

return json.dumps(s_temp1)

@app.route('/method2')

def method2():

school = s程式設計客棧chool('china','shanxi','wutaizhongxue','2000')

s_temp2 = [,school.name,school.nums]

return json.dumps(s_temp2)

@app.route('/method3')

def method3():

school = school('china','shanxi','wutaizhongxue','2000')

s_te*** =

return json.dumps(s_te***)

@app.route('/method4')

def method4():

school = school('china','shanxi','wutaizhongxue','2000')

s_temp4 = ,'name':school.name,www.cppcns.com'nums':school.nums}

return json.dumps(s_temp4)程式設計客棧

if __name__ == '__main__':

app.run(debug=true)

執行效果:

很多人會說,第五種才是我想要的,前面四種不是標準的json資料,剛開始確實是這樣認為的,但是。。。

1.如程式設計客棧果你處理的兩個巢狀類是資料庫的呢?假比如一對多的關係型資料庫,method3不是乙個很好的選擇麼?

2.如果你處理的兩個巢狀類是包含關係呢?method2不是乙個很好的選擇麼?

本文標題: python 之 json序列化巢狀類方式

本文位址:

python 入門 之 Json 序列化

開發 離不了json 但是一般情況,不支援python的其它物件,怎麼辦?有辦法 json 序列化!總體來說,需要序列化的資料型別為 字典,類,巢狀類.下面是我做的乙個demo,都包含了 import json from flask import flask class info def init ...

Python序列化之Json基礎

python的序列化就是將python的基本物件轉換為字串的過程,反之則是反序列化。序列化型別 import json import pickle 序列化定義 序列化 物件 列表 字典都是python的基本資料型別,序列化其實就是把這些資料型別轉換為字串。反序列化 將序列化後得到的字串轉反序列化成p...

c Enum之Json序列化

象中包含列舉型別,在序列化成json字串的時候,顯示的是列舉型別對應的數字。需要在json轉化的時候做一些操作,使之顯示字串 在列舉型別上新增屬性標籤 jsonconverter typeof stringenumconverter 舉例如下 包含列舉型別的物件定義 csharp view plai...