Python使用内置json模块解析json格式数据的方法
本篇章节讲解Python使用内置json模块解析json格式数据的方法。分享给大家供大家参考,具体如下: Python中解析json字符串非常简单,直接用内置的json模块就可以,不需要安装额外的模块。 一、json字符串转为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":"浦东新区长江南路1099弄56号"}}
格式化一下: { "userAccount": "54321","date": "2016-12-06 10:26:17","jsonInfo": { "lon": 121.5612,"lat": 31.1832,"isGps": 1,"netType": "WIFI","addr": "浦东新区长江南路1099弄56号" } } # -*- coding:gbk -*- import json sJOSN = '{"userAccount":"54321","addr":"浦东新区长江南路1099弄56号"}}' sValue = json.loads(sJOSN) print(sValue) 输出: ============= RESTART: C:UsersAdministratorDesktopPython.py ============= {'jsonInfo': {'lat': 31.1832,'isGps': 1,'netType': 'WIFI','addr': '浦东新区长江南路1099弄56号','lon': 121.5612},'ClickTime': 1480991177,'userAccount': '54321','date': '2016-12-06 10:26:17'} >>> 对比一下原始字符串和输出的,发现前后顺序变了,因为在转化为python的字典数据的过程中,顺序会变化。 另外,json中的双引号都改成了单引号。 二、python值转为json字符串 # -*- coding:gbk -*- import json sDict={'jsonInfo': {'netType': 'WIFI','lat': 31.1832,'date': '2016-12-06 10:26:17'} sValue = json.dumps(sDict) print(sValue) 输出:
又从字典数据变为了json字符串。 三、解析json中的数据 # -*- coding:gbk -*- import json sJOSN = '{"userAccount":"54321","addr":"浦东新区长江南路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:UsersAdministratorDesktopPython json转为字典.py ========= userAccount:54321 date:2016-12-06 10:26:17 jsonInfo: netType:WIFI addr:浦东新区长江南路1099弄56号 lon:121.5612 lat:31.1832 isGps:1 ClickTime:1480991177 PS:关于json操作,这里再为大家推荐几款比较实用的json在线工具供大家参考使用: 在线JSON代码检验、检验、美化、格式化工具: JSON在线格式化工具: 在线XML/JSON互相转换工具: json代码在线格式化/美化/压缩/编辑/转换工具: 在线json压缩/转义工具: 更多Python相关内容感兴趣的读者可查看本站专题:《Python操作json技巧总结》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》 希望本文所述对大家Python程序设计有所帮助。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |