Python使用内置json模块解析json格式数据的方法


Posted in Python onJuly 20, 2017

本文实例讲述了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",
  "ClickTime": 1480991177,
  "jsonInfo": {
    "lon": 121.5612,
    "lat": 31.1832,
    "isGps": 1,
    "netType": "WIFI",
    "addr": "浦东新区长江南路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":"浦东新区长江南路1099弄56号"}}'
sValue = json.loads(sJOSN)
print(sValue)

输出:

============= 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字符串

# -*- 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)

输出:

 Python使用内置json模块解析json格式数据的方法

又从字典数据变为了json字符串。

三、解析json中的数据

# -*- 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]))

输出:

========= 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
Python 相关文章推荐
python写的一个文本编辑器
Jan 23 Python
python创建文件备份的脚本
Sep 11 Python
python数据处理 根据颜色对图片进行分类的方法
Dec 08 Python
python判断计算机是否有网络连接的实例
Dec 15 Python
Python TestCase中的断言方法介绍
May 02 Python
PyQt5 在label显示的图片中绘制矩形的方法
Jun 17 Python
python3.6+selenium实现操作Frame中的页面元素
Jul 16 Python
python3应用windows api对后台程序窗口及桌面截图并保存的方法
Aug 27 Python
Python处理PDF与CDF实例
Feb 26 Python
python 子类调用父类的构造函数实例
Mar 12 Python
Python绘图实现台风路径可视化代码实例
Oct 23 Python
Python实现网络聊天室的示例代码(支持多人聊天与私聊)
Jan 27 Python
Python轻量级ORM框架Peewee访问sqlite数据库的方法详解
Jul 20 #Python
Python函数式编程
Jul 20 #Python
python 换位密码算法的实例详解
Jul 19 #Python
python实现rsa加密实例详解
Jul 19 #Python
Python中标准库OS的常用方法总结大全
Jul 19 #Python
spyder常用快捷键(分享)
Jul 19 #Python
JPype实现在python中调用JAVA的实例
Jul 19 #Python
You might like
详谈配置phpstorm完美支持Codeigniter(CI)代码自动完成(代码提示)
2017/04/07 PHP
PHP实现生成模糊图片的方法示例
2017/12/21 PHP
js调用AJAX时Get和post的乱码解决方法
2013/06/04 Javascript
jquery制作select列表双向选择示例代码
2014/09/02 Javascript
推荐4个原生javascript常用的函数
2015/01/12 Javascript
JavaScript保存并运算页面中数字类型变量的写法
2015/07/06 Javascript
Sort()函数的多种用法
2016/03/20 Javascript
JS实现鼠标移上去显示图片或微信二维码
2016/12/14 Javascript
概述jQuery中的ajax方法
2016/12/16 Javascript
Bootstrap页面缩小变形的快速解决办法
2017/02/03 Javascript
vue-cli如何快速构建vue项目
2017/04/26 Javascript
详解js静态资源文件请求的处理
2017/08/01 Javascript
详解JSONObject和JSONArray区别及基本用法
2017/10/25 Javascript
Vue中的Vux配置指南
2017/12/08 Javascript
详解性能更优越的小程序图片懒加载方式
2018/07/18 Javascript
前端面试知识点目录一览
2019/04/15 Javascript
Vue 中文本内容超出规定行数后展开收起的处理的实现方法
2019/04/28 Javascript
JavaScript的Proxy可以做哪些有意思的事儿
2019/06/15 Javascript
微信小程序全选多选效果实现代码解析
2020/01/21 Javascript
Python OS模块常用函数说明
2015/05/23 Python
Python实现随机生成有效手机号码及身份证功能示例
2017/06/05 Python
对Python 两大环境管理神器 pyenv 和 virtualenv详解
2018/12/31 Python
pyqt5 QProgressBar清空进度条的实例
2019/06/21 Python
Pandas之MultiIndex对象的示例详解
2019/06/25 Python
如何通过python的fabric包完成代码上传部署
2019/07/29 Python
CSS3属性选择符介绍
2008/10/17 HTML / CSS
String是最基本的数据类型吗?
2013/06/13 面试题
大学生个人简历中的自我评价
2013/12/27 职场文书
护士的自我鉴定
2014/02/07 职场文书
学习张林森心得体会
2014/09/10 职场文书
公司授权委托书样本
2014/09/15 职场文书
幼儿园五一劳动节活动总结
2015/02/09 职场文书
文员岗位职责范本
2015/04/16 职场文书
golang elasticsearch Client的使用详解
2021/05/05 Golang
vue 把二维或多维数组转一维数组
2022/04/24 Vue.js
html5+实现plus.io进行拍照和图片等获取
2022/06/01 HTML / CSS