Python學習之JSON格式的序列化和反序列化

2022-04-07 10:38:11 字數 2969 閱讀 7053

檢視json庫的方法

import

json

print("

json庫的主要方法:

",json.__all__)#

##json庫的主要方法: ['dump', 'dumps', 'load', 'loads', 'jsondecoder', 'jsondecodeerror', 'jsonencoder']

dump和dumps的區別 dump是將物件序列化並儲存到檔案中

dumps是將物件序列化

load和loads的區別 load將序列化字串從檔案讀取並反序列化

loads將序列化字串反序列化

python 字典型別轉換為 json 物件

import

json

#python 字典型別轉換為 json 物件

data =

json_str =json.dumps(data)

json_str1 = json.dumps(data,ensure_ascii=

false)

print("

原始資料型別:

",type(data))

print("

python 原始資料:

", repr(data)) #

repr() 函式將物件轉化為供直譯器讀取的形式。 repr(object) 返回物件的string格式

print('

json物件的型別:

',type(json_str),type(json_str1))

print("

json 物件:

", json_str)

print("

json物件,,字元編碼

",json_str1)

'''關於中文字元編碼的問題

json.dumps 序列化時對中文預設使用的ascii編碼.想輸出真正的中文需要指定ensure_ascii=false:

import json

print (json.dumps('中國'))

"\u4e2d\u56fd"

print (json.dumps('中國',ensure_ascii=false))

"中國"

'''

python 字典型別轉換為 json 物件 之後再次轉換為python型別

反序列化,把json格式的字串解碼為python的資料物件,見實現的**和輸出:

import

json

dict1=

print ('原始

資料型別為:

',type(dict1))

print ('

原始的資料:

',dict1)

#對dict1進行序列化的處理

str1=json.dumps(dict1,ensure_ascii=false) #

去掉亂碼的字元顯示

print ('

序列化後的資料型別為:

',type(str1))

print ('

序列化後的資料為:

',str1,)

#對str1進行反序列化

dict2=json.loads(str1)

print ('

反序列化後的資料型別:

',type(dict2))

print ('

反序列化後的資料:

',dict2)

#

python 字典型別轉換為 json 物件

data1 =

json_str = json.dumps(data1,ensure_ascii=false)

print("

python 原始資料:

", repr(data1))

print("

json 物件:

", json_str)

#將 json 物件轉換為 python 字典

data2 =json.loads(json_str)

print("

data2的['name']:

", data2['

name'])

print("

data2鏈結['url']:

", data2['

url'

])print(data2 )

#

如果你要處理的是檔案而不是字串,你可以使用json.dump()和json.load()來編碼和解碼json資料。例如:

import

json

data =

#寫入 json 資料

with open('

data.json

', 'w'

) as f:

json.dump(data, f)

#讀取資料

with open('

data.json

', 'r'

) as f:

data =json.load(f)

print(data)

結合requests庫,來看返回的json資料

#

###結合requests庫,來看返回的json資料,具體**為:

import

json,requests

r=requests.get('

深圳')

print (r.text,u'

資料型別:

',type(r.text))

#對資料進行反序列化的操作

dic=json.loads(r.text)

print (dic,u'

資料型別:

',type(dic))

Python高階學習筆記之JSON

使用json庫 json 是一種輕量級的文字資料交換格式。與 xml 相比,擁有更小 更快 更易解析的特點。其結構和 python 的list dict有點相似。資料表示 json 中資料都以名稱 值的形式表示,名稱包括在一對雙引號 中,值則有多種形式,多條資料之間用逗號,隔開。這種表示方式與 py...

Python學習 重點模組之json

注意 json不能轉換類,不能轉換函式 json.dumps 實現檔案寫入,字串轉換 寫入檔案當然是json字串樓 實際上,json.dumps 只是幫我們做了乙個字串的轉換,把字典轉換為了json格式的字串而已 dict 字典 dict1 json,json.loads dict name 錯誤 ...

Python 傳送json格式資料

當我們傳送post請求的時候,一般會攜帶資料,post請求,可以通過給data賦值,從而能夠完成傳遞form表單資料 例如 requests.post url,data 但有很多時候,要向伺服器傳送的是json資料,此時改怎麼辦呢?想要傳送json格式的請求資料,只需要給json命名引數賦乙個字典即...