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中使用第三方库xlutils来追加写入Excel文件示例
Apr 05 Python
Python中集合的内建函数和内建方法学习教程
Aug 19 Python
利用Anaconda完美解决Python 2与python 3的共存问题
May 25 Python
Python读取图片为16进制表示简单代码
Jan 19 Python
Python使用min、max函数查找二维数据矩阵中最小、最大值的方法
May 15 Python
在python中利用KNN实现对iris进行分类的方法
Dec 11 Python
python celery分布式任务队列的使用详解
Jul 08 Python
python实现集中式的病毒扫描功能详解
Jul 09 Python
django认证系统实现自定义权限管理的方法
Aug 28 Python
pytorch之添加BN的实现
Jan 06 Python
Python3.7安装PyQt5 运行配置Pycharm的详细教程
Oct 15 Python
Python脚本打包成可执行文件过程解析
Oct 20 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重新实现PHP脚本引擎内置函数
2007/03/06 PHP
php数组相加 array(“a”)+array(“b”)结果还是array(“a”)
2012/09/19 PHP
php微信公众平台配置接口开发程序
2016/09/22 PHP
thinkphp 手机号和用户名同时登录
2017/01/20 PHP
PHP针对伪静态的注入总结【附asp与Python相关代码】
2017/08/01 PHP
thinkPHP5框架auth权限控制类与用法示例
2018/06/12 PHP
索趣科技的答案
2007/02/07 Javascript
Extjs TriggerField在弹出窗口显示不出问题的解决方法
2010/01/08 Javascript
JavaScript和ActionScript的交互实现代码
2010/08/01 Javascript
js超时调用setTimeout和间歇调用setInterval实例分析
2015/01/28 Javascript
Javascript中typeof 用法小结
2015/05/12 Javascript
WEB前端实现裁剪上传图片功能
2016/10/17 Javascript
jQuery 检查某个元素在页面上是否存在实例代码
2016/10/27 Javascript
前端js弹出框组件使用方法
2020/08/24 Javascript
Vue.js系列之项目结构说明(2)
2017/01/03 Javascript
微信小程序 input输入框详解及简单实例
2017/01/10 Javascript
angularjs+bootstrap实现自定义分页的实例代码
2017/06/19 Javascript
详解mpvue开发小程序小总结
2018/07/25 Javascript
JS数组求和的常用方法实例小结
2019/01/07 Javascript
使用Angular9和TypeScript开发RPG游戏的方法
2020/03/25 Javascript
[01:47]2018年度DOTA2最佳教练-完美盛典
2018/12/16 DOTA
python模拟登录并且保持cookie的方法详解
2017/04/04 Python
python解决js文件utf-8编码乱码问题(推荐)
2018/05/02 Python
Pandas之Fillna填充缺失数据的方法
2019/06/25 Python
Django 创建/删除用户的示例代码
2019/07/24 Python
Python代理IP爬虫的新手使用教程
2019/09/05 Python
LORAC官网:美国彩妆品牌
2019/08/27 全球购物
adidas菲律宾官网:adidas PH
2020/02/07 全球购物
使用C#编写创建一个线程的代码
2013/01/22 面试题
广告宣传策划方案
2014/05/21 职场文书
农村党员学习党的群众路线教育实践活动心得体会
2014/11/04 职场文书
2014年平安创建工作总结
2014/11/24 职场文书
全国爱牙日活动总结
2015/02/05 职场文书
求职简历自我评价怎么写
2015/03/10 职场文书
2019邀请函格式及范文
2019/05/20 职场文书
详解Spring Security中的HttpBasic登录验证模式
2022/03/17 Java/Android