python如何讀寫(xiě)json數(shù)據(jù)
本文實(shí)例為大家分享了python讀寫(xiě)json數(shù)據(jù)的具體代碼,供大家參考,具體內(nèi)容如下
案例:
在web應(yīng)用中常常用到j(luò)son數(shù)據(jù)進(jìn)行傳輸數(shù)據(jù),本質(zhì)上是字典類型數(shù)據(jù)轉(zhuǎn)換成字符串,通過(guò)字符串進(jìn)行網(wǎng)頁(yè)傳輸,然后把接收到的字符串轉(zhuǎn)換成字典類似數(shù)據(jù)
需求:實(shí)現(xiàn)字典轉(zhuǎn)換成字符串,字符串轉(zhuǎn)換成字典數(shù)據(jù)類型,寫(xiě)入文件
如何做?
1、明確dumps和dump的區(qū)別,dump的接口是文件,直接寫(xiě)入文件,dumps把對(duì)應(yīng)的數(shù)據(jù)類型轉(zhuǎn)換成字符串,loads 和dumps相反,load直接從文件中讀取文件并把數(shù)據(jù)轉(zhuǎn)換成對(duì)應(yīng)的數(shù)據(jù)類型
2、先進(jìn)行數(shù)據(jù)轉(zhuǎn)換,字符串作為中間橋梁
#!/usr/bin/python3
import json
def w_json(data):
# 往文件中寫(xiě)入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):
# 進(jìn)行json數(shù)據(jù)轉(zhuǎn)換
try:
# separators 會(huì)把對(duì)應(yīng)符號(hào)前后的空格去掉,網(wǎng)絡(luò)傳輸中,空格沒(méi)有意義
# 還可以通過(guò)sort_keys進(jìn)行按字典可以排序,字典才有效,網(wǎng)絡(luò)傳輸一般都用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)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
探索Python int()函數(shù)傳入中文或者字符串會(huì)發(fā)生什么
這篇文章主要為大家介紹了Python int()函數(shù)傳入中文或者字符串會(huì)發(fā)生什么,詳細(xì)討論int()函數(shù)的常規(guī)使用以及它如何處理異常輸入,特別是涉及字符串和中文字符的情況2024-01-01
Python批量添加水印的優(yōu)雅實(shí)現(xiàn)與進(jìn)階
在日常圖像處理中,為圖片添加水印是一項(xiàng)常見(jiàn)任務(wù),有多種方法和工具可供選擇,本文將專注于使用Python語(yǔ)言結(jié)合PIL庫(kù)批量添加水印,感興趣的可以了解下2023-12-12
Python實(shí)現(xiàn)代碼統(tǒng)計(jì)工具
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)代碼統(tǒng)計(jì)工具,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-09-09
舉例詳解Python中循環(huán)語(yǔ)句的嵌套使用
這篇文章主要介紹了舉例詳解Python中循環(huán)語(yǔ)句的嵌套使用,是Python入門(mén)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-05-05
python實(shí)現(xiàn)五子棋雙人對(duì)弈
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)五子棋雙人對(duì)弈,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05
PyCharm內(nèi)存占用過(guò)高問(wèn)題分析與優(yōu)化指南
PyCharm作為Python開(kāi)發(fā)領(lǐng)域最受歡迎的集成開(kāi)發(fā)環(huán)境(IDE)之一,以其強(qiáng)大的功能和智能化的開(kāi)發(fā)體驗(yàn)贏得了全球開(kāi)發(fā)者的青睞,然而,許多用戶在使用過(guò)程中都遇到了一個(gè)共同的問(wèn)題PyCharm的內(nèi)存占用率異常高企,所以本文介紹了PyCharm內(nèi)存占用過(guò)高問(wèn)題分析與優(yōu)化指南2025-05-05
循環(huán)神經(jīng)網(wǎng)絡(luò)TextRNN實(shí)現(xiàn)情感短文本分類任務(wù)
這篇文章主要為大家介紹了循環(huán)神經(jīng)網(wǎng)絡(luò)TextRNN實(shí)現(xiàn)情感短文本分類任務(wù)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04

