更新时间:2017年07月20日 11:39:10 作者:不想长大啊 这篇文章主要介绍了Python使用内置json模块解析json格式数据的方法,结合实例形式分析了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号"}} 格式化一下: 1 2 3 4 5 6 7 8 9 10 11 12 | {
"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号"
}
}
|
1 2 3 4 5 | # -*- 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":"浦东新区长江南路1099弄56号"}}'
sValue = json.loads(sJOSN)
print (sValue)
|
输出: 1 2 3 | = = = = = = = = = = = = = RESTART: C:\Users\Administrator\Desktop\Python.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字符串 1 2 3 4 5 | # -*- coding:gbk -*-
import json
sDict = { 'jsonInfo' : { 'netType' : 'WIFI' , 'lat' : 31.1832 , 'addr' : '浦东新区长江南路1099弄56号' , 'isGps' : 1 , 'lon' : 121.5612 }, 'userAccount' : '54321' , 'ClickTime' : 1480991177 , 'date' : '2016-12-06 10:26:17' }
sValue = json.dumps(sDict)
print (sValue)
|
输出: ![](http://image109.360doc.com/DownloadImg/2020/02/1021/182344170_2_20200210092344628) 又从字典数据变为了json字符串。 三、解析json中的数据 1 2 3 4 5 6 7 8 9 10 11 | # -*- 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":"浦东新区长江南路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]))
|
输出: 1 2 3 4 5 6 7 8 9 10 | = = = = = = = = = RESTART: C:\Users\Administrator\Desktop\Python 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代码检验、检验、美化、格式化工具: http://tools.jb51.net/code/json JSON在线格式化工具: http://tools.jb51.net/code/jsonformat 在线XML/JSON互相转换工具: http://tools.jb51.net/code/xmljson json代码在线格式化/美化/压缩/编辑/转换工具: http://tools.jb51.net/code/jsoncodeformat 在线json压缩/转义工具: http://tools.jb51.net/code/json_yasuo_trans 更多Python相关内容感兴趣的读者可查看本站专题:《Python操作json技巧总结》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》 希望本文所述对大家Python程序设计有所帮助。
|