本文實例為大家分享了python讀寫json數(shù)據(jù)的具體代碼,供大家參考,具體內(nèi)容如下
案例:
在web應用中常常用到json數(shù)據(jù)進行傳輸數(shù)據(jù),本質(zhì)上是字典類型數(shù)據(jù)轉(zhuǎn)換成字符串,通過字符串進行網(wǎng)頁傳輸,然后把接收到的字符串轉(zhuǎn)換成字典類似數(shù)據(jù)
需求:實現(xiàn)字典轉(zhuǎn)換成字符串,字符串轉(zhuǎn)換成字典數(shù)據(jù)類型,寫入文件
如何做?
1、明確dumps和dump的區(qū)別,dump的接口是文件,直接寫入文件,dumps把對應的數(shù)據(jù)類型轉(zhuǎn)換成字符串,loads 和dumps相反,load直接從文件中讀取文件并把數(shù)據(jù)轉(zhuǎn)換成對應的數(shù)據(jù)類型
2、先進行數(shù)據(jù)轉(zhuǎn)換,字符串作為中間橋梁
#!/usr/bin/python3 import json def w_json(data): # 往文件中寫入json文件 with open('json_test.json', 'w') as wf: json.dump(data, wf) print('ok') def r_json(): # 讀取json文件 with open('json_test.json', 'r') as rf: data = json.load(rf) return data def chage_data(data): # 進行json數(shù)據(jù)轉(zhuǎn)換 try: # separators 會把對應符號前后的空格去掉,網(wǎng)絡傳輸中,空格沒有意義 # 還可以通過sort_keys進行按字典可以排序,字典才有效,網(wǎng)絡傳輸一般都用json數(shù)據(jù)格式 return json.dumps(data, separators=[',', ':'], sort_keys=True) except Exception as e: print(e) return None if __name__ == '__main__': d = {'xiao_ming': 18, 'xiao_er': 50, 'xiao_san': 17, 'xu_xue': None, 'b_l':True} # d = [8, 2, 2, 7, 0, None, True] data = chage_data(d) if data: w_json(data) r_data = r_json() print('讀取的數(shù)據(jù):', r_data)以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網(wǎng)。
新聞熱點
疑難解答
圖片精選