使用Python讀取json文件的方法小結(jié)
使用python讀取json文件,輸出結(jié)果為字符串或python對(duì)象
如下圖,data目錄下有test.json文件

現(xiàn)在可以通過python讀取該json文件,并輸出為兩種不同類型(python對(duì)象、字符串)的數(shù)據(jù)
1.輸出為python對(duì)象,這里使用的是json模塊的load()方法
(1)輸出類型和文件內(nèi)容如下:

(2)源代碼(需要引入json庫):
import json
#定義文件路徑
path = './data/'
# 打開文件,r是讀取,encoding是指定編碼格式
with open(path + 'test.json','r',encoding = 'utf-8') as fp:
print(type(fp)) #輸出結(jié)果是 <class '_io.TextIOWrapper'> 一個(gè)文件類對(duì)象
# load()函數(shù)將fp(一個(gè)支持.read()的文件類對(duì)象,包含一個(gè)JSON文檔)反序列化為一個(gè)Python對(duì)象
data = json.load(fp)
print(type(data)) #輸出結(jié)果是 <class 'dict'> 一個(gè)python對(duì)象,json模塊會(huì)根據(jù)文件類對(duì)象自動(dòng)轉(zhuǎn)為最符合的數(shù)據(jù)類型,所以這里是dict
print("\n************************************************************************************************************\n")
print(data)
print("\n************************************************************************************************************\n")
# 因?yàn)樯厦媸褂昧藈ith語句,使用 with 語句打開文件時(shí),with 語句會(huì)創(chuàng)建一個(gè)代碼塊的上下文,并在代碼塊執(zhí)行結(jié)束后自動(dòng)清理資源。通過這種方式,我們可以不用顯示調(diào)用 file.close() 來關(guān)閉文件,從而避免資源泄漏的問題。
# fp.close() 2.輸出類型為字符串,這里使用的是read()方法
(1)輸出類型和文件內(nèi)容如下:

(2)源代碼:
#文件路徑
path = './data/'
# 打開文件,r是讀取的意思,encoding是指定編碼格式
with open(path + 'test.json','r',encoding = 'utf-8') as fp:
print(type(fp)) #輸出結(jié)果是 <class '_io.TextIOWrapper'> 一個(gè)文件類對(duì)象
# read()方法將fp(一個(gè)支持.read()的文件類對(duì)象,包含一個(gè)JSON文檔)轉(zhuǎn)換成字符串
data = fp.read()
print(type(data)) #輸出結(jié)果是 <class 'str'> 字符串
print("\n************************************************************************************************************\n")
print(data)
print("\n************************************************************************************************************\n")
# 因?yàn)樯厦媸褂昧藈ith語句,使用 with 語句打開文件時(shí),with 語句會(huì)創(chuàng)建一個(gè)代碼塊的上下文,并在代碼塊執(zhí)行結(jié)束后自動(dòng)清理資源。通過這種方式,我們可以不用顯示調(diào)用 file.close() 來關(guān)閉文件,從而避免資源泄漏的問題。
# fp.close()到此這篇關(guān)于Python讀取json文件的方法小結(jié)的文章就介紹到這了,更多相關(guān)Python讀取json文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Tensor 和 NumPy 相互轉(zhuǎn)換的實(shí)現(xiàn)
本文主要介紹了Tensor 和 NumPy 相互轉(zhuǎn)換的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02
WxPython界面如何用pubsub展示進(jìn)程工作的進(jìn)度條
這篇文章主要介紹了WxPython界面如何用pubsub展示進(jìn)程工作的進(jìn)度條,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11
Go語言基于Socket編寫服務(wù)器端與客戶端通信的實(shí)例
這篇文章主要介紹了Go語言基于Socket編寫服務(wù)器端與客戶端通信的實(shí)例,包括實(shí)現(xiàn)基于自定義通訊協(xié)議的Socket通信,需要的朋友可以參考下2016-02-02
Python縮進(jìn)問題IndentationError的原因分析和解決方法
Python通過縮進(jìn)(空格或制表符)定義代碼層級(jí)關(guān)系,這種設(shè)計(jì)雖提升了代碼可讀性,但也導(dǎo)致IndentationError成為新手高頻錯(cuò)誤類型,本文將深度剖析縮進(jìn)錯(cuò)誤的根源,需要的朋友可以參考下2025-12-12
Tensorflow2.4從頭訓(xùn)練Word?Embedding實(shí)現(xiàn)文本分類
這篇文章主要為大家介紹了Tensorflow2.4從頭訓(xùn)練Word?Embedding實(shí)現(xiàn)文本分類,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01
用Python計(jì)算三角函數(shù)之a(chǎn)cos()方法的使用
這篇文章主要介紹了用Python計(jì)算三角函數(shù)之a(chǎn)cos()方法的使用,是Python學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-05-05

