json模組簡析

2021-09-02 18:45:05 字數 1537 閱讀 1457

使用json模組處理json資料首先要先導入。

import json
1,它是處理字典與json字串之間的轉換問題,字典是一種資料結構,他有很多方法可供呼叫,而json只是一種特定格式的資料,json字串是符合json格式的字串。

字典裡key和value的值的型別可以是任何型別,一般使用單引號,但不強制比如以下字典的定義:

dic1 = }
但是json必須使用雙引號定義,且key必須有雙引號,以上字典轉換為json字串為:

json1 = json.dumps(dic1,ensure_ascii=false,indent=4)

print(json1)

print(type(json1))

執行結果:

}可見所有的單引號變為雙引號,key都被雙引號括住,整個json字串的格式其實就是字串。

再將上面的字串轉換為dict:

dic2 = json.loads(json1)

print(dic2)

print(type(dic2))

執行結果:

, 't1': [1, 2, 3], '1': 5}

從json字串轉化為字典,格式上看可以看到只是雙引號變成了單引號,沒有其他變化。

2,如果是往檔案內寫入字典型別的資料或者從檔案內讀取出字典資料就要用到dump和load。

檔案裡儲存的資料為json格式的字串,讀出後轉化為字典:

with open('user.json', 'a+', encoding='utf-8') as f:

f.seek(0) #a+模式下開啟檔案,檔案指標在最後,讀取時需要放到最前面

users = json.load(f) #讀取檔案內容,且同時轉換為字典

print(users)

print(type(users))

執行結果:

, 'xiaohei': , 'xiaowang': }

下面說下寫入字典資料:

將上述定義的dic1 = }寫入檔案user.json裡:

with open('user.json', 'a+', encoding='utf-8') as f:

json.dump(dic1, f, ensure_ascii=false, indent=4) #dic1為需要寫入的字典資料,f是檔案物件,有中文需要將ensure_ascii設定為false,indent是縮排格式

執行後可以看到檔案內多了新寫入的字典資料。

需要注意是,最後檔案裡包含了兩個json字串,此時再對檔案使用load進行讀取操作將會報錯,檔案中只有乙個json字串,無其他多餘內容時才可以使用load讀取

簡析光模組

光模組主要用於光電訊號的轉換,光模組tx端將電訊號轉化為光訊號,經光纖傳輸後,在rx端將接收到的光訊號再轉化為電訊號。光模組的分類有很多種 按封裝分類有 1 9 gbic x2 xenpak xfp sfp qsfp cfp等等 按速率分類有 10m 100m 155.52m 622.08m 1.2...

簡析 JSON 中的 與

在 json 裡 是 array 也就是陣列 是ojbect 也就是物件 array 的key 是 int.的key 是 string 例如 var dot1 a 就是乙個陣列 var dot2 就是乙個物件 陣列和物件轉換非常簡單,dot1把 替換為 就是物件,dot2把替換為 就是素組。這在jq...

Werkzeug 庫 routing 模組簡析

werkzeug是乙個python寫成的wsgi工具集。它遵循wsgi規範,對伺服器和web應用之間的 中間層 進行了開發,衍生出一系列非常有用的web服務底層模組。werkzeug庫的routing模組的主要功能在於url解析。對於wsgi應用來講,不同的url對應不同的檢視函式,routing模...