Python使用內(nèi)置json模塊解析json格式數(shù)據(jù)的方法
本文實(shí)例講述了Python使用內(nèi)置json模塊解析json格式數(shù)據(jù)的方法。分享給大家供大家參考,具體如下:
Python中解析json字符串非常簡(jiǎn)單,直接用內(nèi)置的json模塊就可以,不需要安裝額外的模塊。
一、json字符串轉(zhuǎn)為python值
json字符串:
格式化一下:
{
"userAccount": "54321",
"date": "2016-12-06 10:26:17",
"ClickTime": 1480991177,
"jsonInfo": {
"lon": 121.5612,
"lat": 31.1832,
"isGps": 1,
"netType": "WIFI",
"addr": "浦東新區(qū)長(zhǎng)江南路1099弄56號(hào)"
}
}
# -*- coding:gbk -*-
import json
sJOSN = '{"userAccount":"54321","date":"2016-12-06 10:26:17","ClickTime": 1480991177,"jsonInfo":{"lon":121.5612,"lat":31.1832,"isGps":1,"netType":"WIFI","addr":"浦東新區(qū)長(zhǎng)江南路1099弄56號(hào)"}}'
sValue = json.loads(sJOSN)
print(sValue)
輸出:
============= RESTART: C:\Users\Administrator\Desktop\Python.py =============
{'jsonInfo': {'lat': 31.1832, 'isGps': 1, 'netType': 'WIFI', 'addr': '浦東新區(qū)長(zhǎng)江南路1099弄56號(hào)', 'lon': 121.5612}, 'ClickTime': 1480991177, 'userAccount': '54321', 'date': '2016-12-06 10:26:17'}
>>>
對(duì)比一下原始字符串和輸出的,發(fā)現(xiàn)前后順序變了,因?yàn)樵谵D(zhuǎn)化為python的字典數(shù)據(jù)的過(guò)程中,順序會(huì)變化。
另外,json中的雙引號(hào)都改成了單引號(hào)。
二、python值轉(zhuǎn)為json字符串
# -*- coding:gbk -*-
import json
sDict={'jsonInfo': {'netType': 'WIFI', 'lat': 31.1832, 'addr': '浦東新區(qū)長(zhǎng)江南路1099弄56號(hào)', 'isGps': 1, 'lon': 121.5612}, 'userAccount': '54321', 'ClickTime': 1480991177, 'date': '2016-12-06 10:26:17'}
sValue = json.dumps(sDict)
print(sValue)
輸出:

又從字典數(shù)據(jù)變?yōu)榱薺son字符串。
三、解析json中的數(shù)據(jù)
# -*- coding:gbk -*-
import json
sJOSN = '{"userAccount":"54321","date":"2016-12-06 10:26:17","ClickTime": 1480991177,"jsonInfo":{"lon":121.5612,"lat":31.1832,"isGps":1,"netType":"WIFI","addr":"浦東新區(qū)長(zhǎng)江南路1099弄56號(hào)"}}'
sValue = json.loads(sJOSN)
for k in sValue.keys():
if str(type(sValue[k]))!="<class 'dict'>":
print(k+':'+ str(sValue[k]))
else:
print(str(k)+':')
for k1 in sValue[k].keys():
print(' '*3 + k1 +':'+str(sValue[k][k1]))
輸出:
========= RESTART: C:\Users\Administrator\Desktop\Python json轉(zhuǎn)為字典.py ========= userAccount:54321 date:2016-12-06 10:26:17 jsonInfo: netType:WIFI addr:浦東新區(qū)長(zhǎng)江南路1099弄56號(hào) lon:121.5612 lat:31.1832 isGps:1 ClickTime:1480991177
PS:關(guān)于json操作,這里再為大家推薦幾款比較實(shí)用的json在線工具供大家參考使用:
在線JSON代碼檢驗(yàn)、檢驗(yàn)、美化、格式化工具:
http://tools.jb51.net/code/json
JSON在線格式化工具:
http://tools.jb51.net/code/jsonformat
在線XML/JSON互相轉(zhuǎn)換工具:
http://tools.jb51.net/code/xmljson
json代碼在線格式化/美化/壓縮/編輯/轉(zhuǎn)換工具:
http://tools.jb51.net/code/jsoncodeformat
在線json壓縮/轉(zhuǎn)義工具:
http://tools.jb51.net/code/json_yasuo_trans
更多Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python操作json技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
- Python解析JSON數(shù)據(jù)的基本方法實(shí)例代碼
- python 調(diào)用API接口 獲取和解析 Json數(shù)據(jù)
- Python讀取JSON數(shù)據(jù)操作實(shí)例解析
- python3實(shí)現(xiàn)從kafka獲取數(shù)據(jù),并解析為json格式,寫入到mysql中
- python flask解析json數(shù)據(jù)不完整的解決方法
- JSONLINT:python的json數(shù)據(jù)驗(yàn)證庫(kù)實(shí)例解析
- 使用Python解析JSON數(shù)據(jù)的基本方法
- 在python?腳本下解析json數(shù)據(jù)
相關(guān)文章
python中pycryptodome模塊實(shí)現(xiàn)加密算法庫(kù)
PyCryptodome提供了許多密碼學(xué)算法和協(xié)議的實(shí)現(xiàn),包括對(duì)稱加密、非對(duì)稱加密、消息摘要、密碼哈希、數(shù)字簽名等,本文主要介紹了python中pycryptodome模塊實(shí)現(xiàn)加密算法庫(kù),感興趣的可以了解一下2023-11-11
python2.6.6如何升級(jí)到python2.7.14
這篇文章主要為大家詳細(xì)介紹了python2.6.6如何升級(jí)到python2.7.14,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04
基于python實(shí)現(xiàn)的抓取騰訊視頻所有電影的爬蟲
這篇文章主要介紹了用python實(shí)現(xiàn)的抓取騰訊視頻所有電影的爬蟲,這個(gè)程序使用芒果存, 所以大家需要下載使用mongodb才可以2016-04-04
Python語(yǔ)言實(shí)現(xiàn)百度語(yǔ)音識(shí)別API的使用實(shí)例
這篇文章主要介紹了Python語(yǔ)言實(shí)現(xiàn)百度語(yǔ)音識(shí)別API的使用實(shí)例,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12
Python導(dǎo)入txt數(shù)據(jù)到mysql的方法
這篇文章主要介紹了Python導(dǎo)入txt數(shù)據(jù)到mysql的方法,涉及Python操作txt文件及mysql數(shù)據(jù)庫(kù)的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-04-04
pyqt5實(shí)現(xiàn)繪制ui,列表窗口,滾動(dòng)窗口顯示圖片的方法
今天小編就為大家分享一篇pyqt5實(shí)現(xiàn)繪制ui,列表窗口,滾動(dòng)窗口顯示圖片的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-06-06
Python中enumerate()函數(shù)詳細(xì)分析(附多個(gè)Demo)
Python的enumerate()函數(shù)是一個(gè)內(nèi)置函數(shù),主要用于在遍歷循環(huán)中獲取每個(gè)元素的索引以及對(duì)應(yīng)的值,這篇文章主要介紹了Python中enumerate()函數(shù)的相關(guān)資料,需要的朋友可以參考下2024-10-10
python?針對(duì)在子文件夾中的md文檔實(shí)現(xiàn)批量md轉(zhuǎn)word
這篇文章主要介紹了python?針對(duì)在子文件夾中的md文檔實(shí)現(xiàn)批量md轉(zhuǎn)word,但是自己保存的md文檔在不同的文件夾,而大部分只能實(shí)現(xiàn)同一文件夾內(nèi)的轉(zhuǎn)換,得出下列總結(jié),需要的朋友可以參考一下2022-04-04

