Python使用內(nèi)置json模塊解析json格式數(shù)據(jù)的方法
本文實例講述了Python使用內(nèi)置json模塊解析json格式數(shù)據(jù)的方法。分享給大家供大家參考,具體如下:
Python中解析json字符串非常簡單,直接用內(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ū)長江南路1099弄56號"
}
}
# -*- 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ū)長江南路1099弄56號"}}'
sValue = json.loads(sJOSN)
print(sValue)
輸出:
============= RESTART: C:\Users\Administrator\Desktop\Python.py =============
{'jsonInfo': {'lat': 31.1832, 'isGps': 1, 'netType': 'WIFI', 'addr': '浦東新區(qū)長江南路1099弄56號', 'lon': 121.5612}, 'ClickTime': 1480991177, 'userAccount': '54321', 'date': '2016-12-06 10:26:17'}
>>>
對比一下原始字符串和輸出的,發(fā)現(xiàn)前后順序變了,因為在轉(zhuǎn)化為python的字典數(shù)據(jù)的過程中,順序會變化。
另外,json中的雙引號都改成了單引號。
二、python值轉(zhuǎn)為json字符串
# -*- coding:gbk -*-
import json
sDict={'jsonInfo': {'netType': 'WIFI', 'lat': 31.1832, 'addr': '浦東新區(qū)長江南路1099弄56號', '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ū)長江南路1099弄56號"}}'
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ū)長江南路1099弄56號 lon:121.5612 lat:31.1832 isGps:1 ClickTime:1480991177
PS:關(guān)于json操作,這里再為大家推薦幾款比較實用的json在線工具供大家參考使用:
在線JSON代碼檢驗、檢驗、美化、格式化工具:
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īng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
python入門:argparse淺析 nargs=''+''作用
這篇文章主要介紹了python入門:argparse淺析 nargs='+'作用,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07
一文了解Python中NotImplementedError的作用
NotImplementedError是一個內(nèi)置異常類,本文主要介紹了一文了解Python中NotImplementedError的作用,具有一定的參考價值,感興趣的可以了解一下2024-03-03
python如何利用plt.legend()添加圖例代碼示例
用python的matplotlib畫圖時,往往需要加圖例說明,下面這篇文章主要給大家介紹了關(guān)于python如何利用plt.legend()添加圖例的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2023-11-11
Python?識別錄音并轉(zhuǎn)為文字的實現(xiàn)
本文主要介紹了Python?識別錄音并轉(zhuǎn)為文字的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03
Django框架登錄加上驗證碼校驗實現(xiàn)驗證功能示例
這篇文章主要介紹了Django框架登錄加上驗證碼校驗實現(xiàn)驗證功能,結(jié)合實例形式分析了Django框架基于Pillow模塊的圖形驗證碼生成與使用相關(guān)操作技巧,需要的朋友可以參考下2019-05-05

