python3基礎 json模組

2021-09-25 03:11:45 字數 3832 閱讀 2713

方法

解釋json.dumpus()

將 python 物件編碼成 json 字串

-json.loads()-

-將字串編碼為乙個python物件-

json.dumpu()

將python物件序列化到乙個檔案,是文字檔案,相當於將序列化後的json字元寫到乙個檔案

json.load()

從檔案中反序列化出python物件

型別編碼後的型別

dict

object

-list, tuple-

-array>陣列-

str, unicode

string

int, long, float

number

-true-

-true-

false

false

none

null

json型別

python

object

dict

array

list

string

unicode

number

(int) int, long

number

(real) float

true

true

false

false

null

nonel

#字典

dir =

f = json.

dumps

(dir)

print

(f)#結果

#print

(f["name"

]) #這裡注意如果不用loads 反序列化一下這裡是不可以像字典一樣切出值的,還會報錯

d=json.

loads

(f) #反序列出python物件

print

(dir[1]

) #這裡就可以切出dir key的值 注意轉換後這裡的1就變成了字串

#結果 123

print

(d["1"

]) #轉換後就變成字串了

#結果 123

#列表 和元組 轉換成json字串

list=[1

,2,3

]js=json.

dumps

(list)

print

(js)

li=json.

loads

(js)

print

(li)

元組 =(1

,2,2

,3)陣列=json.

dumps

(元組)

print

(陣列)

#結果 [1,

2,3] 注意此事顯示的是方括號

b=json.

loads

(陣列)

print

(b) #這裡可以看出 元組解碼回來就變成了列表型別了,這裡注意

#結果 [1,

2,2,

3] 這裡是列表

引數json.dumpus(self,sort_keys=true)

是否按字典排序(a到z)輸出,預設編碼成json格式字串後,是緊湊輸出,並且也沒有順序的,不利於可讀。sort_keys等於true表示公升序

json.dumpus(self,sort_keys=true,indent=3)

根據資料格式縮排顯示,讀起來更清晰,indent的數值表示縮排的位數

去掉逗號「,」和冒號「:」後面的空格。從上面的結果中可以看出『, :』後面都有個空格,這都是為了美化的作用,但是在傳輸的過程中,越精簡越好,冗餘的東西去掉,因此就可以加上separators引數對傳輸的json串進行壓縮。該引數是元組格式的。

shipkeys在編碼的過程中,dict的物件只能是基本資料類似(int,float,bool,none,str),如果是其它型別,那麼在編碼的過程中就會丟擲valueerror異常。shipkeys可以跳過那些非string物件的key的處理,設定為true , 不是幾百型別的就直接跳過不處理。

表示編碼使用的字符集,預設是true,表示使用ascii碼進行編碼。如果設定為false,就會以unicode進行編碼。由於解碼json字串時返回的就是unicode字串,所以可以直接操作unicode字元,然後直接編碼unicode字串,這樣會簡單些。

default:將類物件編碼成json串

python中的dict物件可以直接序列化為json的{},但是很多時候,可能用class表示物件,比如定義employe類,然後直接去序列化就會報錯。原因是類不是乙個可以直接序列化的物件,但我們可以使用dumps()函式中的default引數來實現,由兩種方法:

1.在類內部定義乙個obj_json 方法將物件的屬性轉換成dict,然後再被序列化為json。

2.通過__dict__屬性,通常class及其例項都會有乙個__dict__屬性(除非類中新增了__slots__屬性),它是乙個dict型別,儲存的是類或類例項中有效的屬性

**示例:

示例2

class

Python3的Json模組詳解

json模組主要用來進行python物件的序列化和反序列化。該模組中常用的方法有以下四個 進行序列化時,python型別與json型別的轉換關係如下表所示 python json dict object list,tuple array strstring int,float number true...

Python3基礎 常用模組

1.time.time 從1970年1月1日到當前的時間,單位是s 2.time.strftime y m d h m s 按照一定的格式列印當前日期和時間 1.random.random 0,1 之間的隨機值 2.random.randint n,m n,m 之間的整型 3.random.samp...

Python3的json模組及使用

import json json 是 js 下的內容各個語言交流的資料交換方式 字典 dict1 data json.dumps dict1 載入進去 序列化 資料可以看到 f open json text w f.write data f.close 函式 不可json序列化 可以使用pickle...