使用Python解析JSON的實(shí)現(xiàn)示例
JSON (JavaScript Object Notation) 是一種輕量級(jí)的數(shù)據(jù)交換格式。Python3 中可以使用 json 模塊來對(duì) JSON 數(shù)據(jù)進(jìn)行編解碼,主要包含了下面4個(gè)操作函數(shù):

提示:所謂類文件對(duì)象指那些具有read()或者 write()方法的對(duì)象,例如,f = open('a.txt','r'),其中的f有read()方法,所以f就是類文件對(duì)象。?
在json的編解碼過程中,python 的原始類型與JSON類型會(huì)相互轉(zhuǎn)換,具體的轉(zhuǎn)化對(duì)照如下:
Python 編碼為 JSON 類型轉(zhuǎn)換對(duì)應(yīng)表:
| Python | JSON |
| dict | object |
| list, tuple | array |
| str | string |
| int, float, int- & float-derived Enums | number |
| True | true |
| False | false |
| None | null |
JSON 解碼為 Python 類型轉(zhuǎn)換對(duì)應(yīng)表:
| JSON | Python |
| object | dict |
| array | list |
| string | str |
| number (int) | int |
| number (real) | float |
| true | True |
| false | False |
| null | None |
操作示例?:
import json
data = {
'name': 'pengjunlee',
'age': 32,
'vip': True,
'address': {'province': 'GuangDong', 'city': 'ShenZhen'}
}
# 將 Python 字典類型轉(zhuǎn)換為 JSON 對(duì)象
json_str = json.dumps(data)
print(json_str) # 結(jié)果 {"name": "pengjunlee", "age": 32, "vip": true, "address": {"province": "GuangDong", "city": "ShenZhen"}}
# 將 JSON 對(duì)象類型轉(zhuǎn)換為 Python 字典
user_dic = json.loads(json_str)
print(user_dic['address']) # 結(jié)果 {'province': 'GuangDong', 'city': 'ShenZhen'}
# 將 Python 字典直接輸出到文件
with open('pengjunlee.json', 'w', encoding='utf-8') as f:
json.dump(user_dic, f, ensure_ascii=False, indent=4)
# 將類文件對(duì)象中的JSON字符串直接轉(zhuǎn)換成 Python 字典
with open('pengjunlee.json', 'r', encoding='utf-8') as f:
ret_dic = json.load(f)
print(type(ret_dic)) # 結(jié)果 <class 'dict'>
print(ret_dic['name']) # 結(jié)果 pengjunlee
注意:使用eval()能夠?qū)崿F(xiàn)簡(jiǎn)單的字符串和Python類型的轉(zhuǎn)化。?
user1 = eval('{"name":"pengjunlee"}')
print(user1['name']) # 結(jié)果 pengjunlee
到此這篇關(guān)于使用Python解析JSON的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)Python解析JSON內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python的Django框架中的數(shù)據(jù)庫配置指南
這篇文章主要介紹了Python的Django框架中的數(shù)據(jù)庫配置指南,文中舉了Python內(nèi)置的SQLite的示例,需要的朋友可以參考下2015-07-07
使用Python實(shí)現(xiàn)快速搭建本地HTTP服務(wù)器
這篇文章主要介紹了如何使用Python快速搭建本地HTTP服務(wù)器,輕松實(shí)現(xiàn)一鍵 HTTP 文件共享,同時(shí)結(jié)合二維碼技術(shù),讓訪問更簡(jiǎn)單,感興趣的小伙伴可以了解下2025-04-04
Python無法安裝包的一種解決(Requirement already satisfied問題)
這篇文章主要介紹了Python無法安裝包的一種解決(Requirement already satisfied問題),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08
在Python中使用NLTK庫實(shí)現(xiàn)對(duì)詞干的提取的教程
這篇文章主要介紹了在Python中使用NLTK庫實(shí)現(xiàn)對(duì)詞干的提取的教程,其中還用到了Pandas和IPython,需要的朋友可以參考下2015-04-04
Python使用sftp實(shí)現(xiàn)上傳和下載功能(實(shí)例代碼)
在Python中可以使用paramiko模塊中的sftp登陸遠(yuǎn)程主機(jī),實(shí)現(xiàn)上傳和下載功能。接下來通過本文給大家介紹Python使用sftp實(shí)現(xiàn)上傳和下載功能,需要的朋友參考下2017-03-03
Python中使用MELIAE分析程序內(nèi)存占用實(shí)例
這篇文章主要介紹了Python中使用MELIAE分析程序內(nèi)存占用實(shí)例,本文直接給出使用代碼示例,需要的朋友可以參考下2015-02-02
python根據(jù)時(shí)間生成mongodb的ObjectId的方法
這篇文章主要介紹了python根據(jù)時(shí)間生成mongodb的ObjectId的方法,涉及Python操作mongodb數(shù)據(jù)庫的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03

