本文實例講述了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 jsonsJOSN = '{"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 jsonsDict={'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 jsonsJOSN = '{"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:54321date:2016-12-06 10:26:17jsonInfo: netType:WIFI addr:浦東新區(qū)長江南路1099弄56號 lon:121.5612 lat:31.1832 isGps:1ClickTime:1480991177
希望本文所述對大家Python程序設(shè)計有所幫助。
新聞熱點
疑難解答
圖片精選