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的re模块应用实例
Sep 26 Python
Python中函数参数设置及使用的学习笔记
May 03 Python
用Python实现KNN分类算法
Dec 22 Python
Python中跳台阶、变态跳台阶与矩形覆盖问题的解决方法
May 19 Python
使用Python编写Prometheus监控的方法
Oct 15 Python
详解pandas安装若干异常及解决方案总结
Jan 10 Python
python实现根据文件格式分类
Oct 31 Python
TensorFlow keras卷积神经网络 添加L2正则化方式
May 22 Python
Python中socket网络通信是干嘛的
May 27 Python
Python基础教程(一)——Windows搭建开发Python开发环境
Jul 20 Python
python实现简单的井字棋游戏(gui界面)
Jan 22 Python
python 管理系统实现mysql交互的示例代码
Dec 06 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
PHP的autoload机制的实现解析
2012/09/15 PHP
shell脚本作为保证PHP脚本不挂掉的守护进程实例分享
2013/07/15 PHP
PHP图片处理之使用imagecopyresampled函数实现图片缩放例子
2014/11/19 PHP
PHP Mysqli 常用代码集合
2016/11/12 PHP
php批量修改表结构实例
2017/05/24 PHP
php微信扫码支付 php公众号支付
2019/03/24 PHP
php的无刷新操作实现方法分析
2020/02/28 PHP
IE和Firefox在JavaScript应用中的兼容性探讨
2008/04/01 Javascript
for 循环性能比较 提高for循环的效率
2009/03/19 Javascript
jquery实现页面百叶窗走马灯式翻滚显示效果的方法
2015/03/12 Javascript
js学习之----深入理解闭包
2016/11/21 Javascript
函数四种调用模式以及其中的this指向
2017/01/16 Javascript
JavaScript实现反转字符串的方法详解
2017/04/27 Javascript
详解angular中的作用域及继承
2017/05/31 Javascript
Node.js使用orm2进行update操作时关联字段无法修改的解决方法
2017/06/13 Javascript
Vue.js 实现微信公众号菜单编辑器功能(一)
2018/05/08 Javascript
layui实现数据分页功能
2019/07/27 Javascript
Bootstrap实现前端登录页面带验证码功能完整示例
2020/03/26 Javascript
vue fetch中的.then()的正确使用方法
2020/04/17 Javascript
Python 异常处理实例详解
2014/03/12 Python
pygame游戏之旅 调用按钮实现游戏开始功能
2018/11/21 Python
opencv实现静态手势识别 opencv实现剪刀石头布游戏
2019/01/22 Python
使用celery执行Django串行异步任务的方法步骤
2019/06/06 Python
Python + Flask 实现简单的验证码系统
2019/10/01 Python
如何使用python的ctypes调用医保中心的dll动态库下载医保中心的账单
2020/05/24 Python
详解python内置模块urllib
2020/09/09 Python
荷兰睡眠专家:Beter Bed
2020/11/23 全球购物
军训心得体会
2013/12/31 职场文书
护士求职信
2014/07/05 职场文书
公民授权委托书范本
2014/09/17 职场文书
1000字打架检讨书
2014/11/03 职场文书
2015年五四青年节活动总结
2015/02/10 职场文书
听证会主持词
2015/07/03 职场文书
小学英语教师2015年度个人工作总结
2015/10/14 职场文书
python中if和elif的区别介绍
2021/11/07 Python
MySQL深分页问题解决思路
2022/12/24 MySQL