1.前言
json是一種輕量級的數據交換格式,它是JavaScript的子集,易於人閱讀和編寫。
前端和后端進行數據交互,其實就是JS和Python進行數據交互.
接口間或者前后端間的語言不一致,不同的語言數據類型是不一樣的,所以就導致你提交的數據,別的開發語言無法識別,這就需要規范傳輸的數據(傳輸的數據都是一個字符串),大家都遵循一個規范,按一個標准的格式去傳輸,於是就有就json這種國際化規范的數據類型。
json本質上還是字符串,只是按key:value這種鍵值對的格式來的字符串
2.python數據類型與json數據類型的映射關系
Python | Json |
---|---|
dict | object |
list, tuple | array |
str, unicode | string |
int, long, float | number |
True | true |
False | false |
None | null |
3.處理json數據的幾個常用方法
方法 | 詳情 |
---|---|
json.loads() | string轉換成dict |
json.dumps() | dict轉換成string |
json.load() | 是將里json格式字符串轉化為dict,讀取文件 |
json.dump() | 是將dict類型轉換為json格式字符串,存入文件 |
4.應用舉例
4.1 json.dumps(), 將 python 對象轉換成 json字符串對象
import json
dic1 = {
"code": "00",
"descEn": "approved or completed successfully",
"descZh": "承兌或交易成功",
"outOrderNumber": "300026",
"time": "2021-01-08 15:30:13",
"type": "SYNC_COMMON_RESPONSE"
}
json_object1 = json.dumps(dic1)
print(json_object1)
print(type(json_object1)) # 類型是str
4.2 json.loads() 將json字段串對象轉換成python dict對象
print(json.loads(json_object1))
print(type(json.loads(json_object1))) #類型是dict
4.3 json.dump() 將json字符串對象寫進json文件
str1 = '{sex:"女","name":"sophia"}'
with open('1.json','w+',encoding='utf-8') as f:
json.dump(str1,f)
4.4 json.load() 將json文件對象讀取解析成python dict對象
with open('file.json','r+',encoding='utf-8') as f:
json_object = json.load(f)
print(type(json_object)) # 類型是dict
后續封裝一個方法進行str到dict之間相互轉換,以及讀寫json文件內容,並且讀取某個指定字段的值