Python中json文件的讀取實(shí)現(xiàn)
1. json簡(jiǎn)介
JSON(JavaScript Object Notation)是一種輕量級(jí)的數(shù)據(jù)交換格式,常用于將結(jié)構(gòu)化數(shù)據(jù)進(jìn)行傳輸和存儲(chǔ)。它基于JavaScript語法,但可以被多種編程語言解析和生成。
json 基于文本,獨(dú)立于語言的輕量級(jí)的數(shù)據(jù)交換格式
- 基于文本,是一個(gè)文本文件,不能包含圖片,音視頻等
- 獨(dú)立于語言,不是某個(gè)語言特有的,每種編程語言都可以使用的
- 輕量級(jí),相同的數(shù)據(jù),和其他格式相比,占用的大小比較小
- 數(shù)據(jù)交換格式,后端程序員 給前端的數(shù)據(jù) (json,xml,ProtoBuf等)
JSON具有廣泛的應(yīng)用,尤其在Web開發(fā)中常用于API的數(shù)據(jù)交互。在許多編程語言中,都有內(nèi)置的JSON解析器和生成器,可以方便地處理JSON數(shù)據(jù)。
2.json的使用規(guī)范
JSON使用鍵值對(duì)的方式表示數(shù)據(jù),其中鍵是字符串,值可以是字符串、數(shù)字、布爾值、對(duì)象、數(shù)組或null。
JSON的一些基本規(guī)則:
- 鍵和值之間使用冒號(hào)(:)分隔。
- 鍵值對(duì)之間使用逗號(hào)(,)分隔。
- 數(shù)據(jù)包裹在大括號(hào)({})中表示一個(gè)對(duì)象。
- 數(shù)組使用方括號(hào)([])表示,其中的元素可以是任意類型的數(shù)據(jù),用逗號(hào)分隔。
- json中的字符串必須使用雙引號(hào)
""
- json文件的后綴名是
.json
- 一個(gè)json文件對(duì)應(yīng)一個(gè)對(duì)象或數(shù)組
3.json文件的書寫
一個(gè)簡(jiǎn)單的JSON示例:
{ "name": "zhangsan", "age": 20, "city": "BeiJing", "hobbies": ["reading", "running", "playing guitar"] }
在上面的示例中,有一個(gè)包含個(gè)人信息的對(duì)象。它包含名稱、年齡、所在城市、愛好數(shù)組 注意: 不能在一個(gè)json文件中定義兩個(gè)json
如果想要在一個(gè)json文件中定義多個(gè)json,需要使用數(shù)組,如下:
4.json文件的讀取
使用python讀取json文件分為三步:
- 導(dǎo)包
- 讀打開文件
- 讀文件
在此之前,先使用普通文件的讀取方式進(jìn)行讀取:
with open("info.json",'r',encoding='UTF-8') as f: buf = f.read() print(type(buf)) print(buf)
此處返回的結(jié)果是 字符串,在字符串中獲取json中的鍵值對(duì)的信息是比較困難的.
不過在python中的json包中提供了一個(gè) json.load()
方法
import json with open("info.json",'r',encoding='UTF-8') as f: result = json.load(f) print(type(result)) print(result)
可以看到返回值類型變成了 dict(字典),python字典中的數(shù)據(jù)也是鍵值對(duì),因此要獲取對(duì)應(yīng)的數(shù)據(jù)也就很方便了
- 使用方括號(hào)操作符
[key]
:可以使用字典的key作為索引來獲取對(duì)應(yīng)的value。 - 使用get()方法:get()方法可以接收一個(gè)key參數(shù),并返回對(duì)應(yīng)的value。如果key不存在,則可以指定一個(gè)默認(rèn)值作為get()方法的第二個(gè)參數(shù),如果不指定,默認(rèn)值為None。
到此這篇關(guān)于Python中json文件的讀取實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Python json讀取內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python學(xué)習(xí)之虛擬環(huán)境原理詳解
本文將帶大家學(xué)習(xí)一下虛擬環(huán)境的相關(guān)知識(shí),虛擬環(huán)境對(duì)于剛剛使用Python的初學(xué)者來說使用的概率可能會(huì)比較低,但是我們依然要對(duì)它有一定的了解??旄S小編一起學(xué)習(xí)一下吧2022-03-03pandas 對(duì)group進(jìn)行聚合的例子
今天小編就為大家分享一篇pandas 對(duì)group進(jìn)行聚合的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-12-12Python opencv醫(yī)學(xué)處理的實(shí)現(xiàn)過程
這篇文章主要介紹了Python opencv醫(yī)學(xué)處理的實(shí)現(xiàn)過程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-05-05Python中Yield的基本用法及Yield與return的區(qū)別解析
Python中有一個(gè)非常有用的語法叫做生成器,用到的關(guān)鍵字就是yield,這篇文章主要介紹了Python中Yield的基本用法及Yield與return的區(qū)別,需要的朋友可以參考下2022-10-10一文詳解如何在Python中從字符串中提取部分內(nèi)容
這篇文章主要介紹了如何在Python中從字符串中提取部分內(nèi)容的相關(guān)資料,包括使用正則表達(dá)式、Pyparsing庫、AST(抽象語法樹)、字符串操作和函數(shù)式編程,每種方法都有其適用場(chǎng)景和優(yōu)缺點(diǎn),需要的朋友可以參考下2025-04-04