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怎么学好python?
Oct 07 Python
浅谈Python中数据解析
May 05 Python
MAC中PyCharm设置python3解释器
Dec 15 Python
Django中redis的使用方法(包括安装、配置、启动)
Feb 21 Python
python实现学生信息管理系统
Apr 05 Python
Django 开发环境配置过程详解
Jul 18 Python
Pycharm使用远程linux服务器conda/python环境在本地运行的方法(图解))
Dec 09 Python
Python tkinter布局与按钮间距设置方式
Mar 04 Python
Python的PIL库中getpixel方法的使用
Apr 09 Python
python语音识别指南终极版(有这一篇足矣)
Sep 09 Python
OpenCV读取与写入图片的实现
Oct 13 Python
Python 的 sum() Pythonic 的求和方法详细
Oct 16 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计算近1年的所有月份
2017/03/13 PHP
Yii实现微信公众号场景二维码的方法实例
2020/08/30 PHP
Javascript中eval函数的使用方法与示例
2007/04/09 Javascript
两种简单实现菜单高亮显示的JS类代码
2010/06/27 Javascript
js弹出div并显示遮罩层
2014/02/12 Javascript
js判断iframe内的网页是否滚动到底部触发事件
2014/03/18 Javascript
jquery.idTabs 选项卡使用示例代码
2014/09/03 Javascript
JS和JQ的event对象区别分析
2014/11/24 Javascript
浅谈JavaScript中的Math.atan()方法的使用
2015/06/14 Javascript
WordPress中鼠标悬停显示和隐藏评论及引用按钮的实现
2016/01/12 Javascript
javascript轻量级库createjs使用Easel实现拖拽效果
2016/02/19 Javascript
Vue中如何实现轮播图的示例代码
2017/07/27 Javascript
微信小程序实现轮播图效果
2017/09/07 Javascript
JS判断字符串是否为整数的方法--简单的正则判断
2018/07/23 Javascript
基于vue-router 多级路由redirect 重定向的问题
2018/09/03 Javascript
基于JS实现父组件的请求服务过程解析
2019/10/14 Javascript
原生JavaScript创建不可变对象的方法简单示例
2020/05/07 Javascript
JS实现点击掉落特效
2021/01/29 Javascript
[05:14]辉夜杯主赛事第二日 RECAP精彩回顾
2015/12/27 DOTA
python sqlobject(mysql)中文乱码解决方法
2008/11/14 Python
python实现自动重启本程序的方法
2015/07/09 Python
python中日志logging模块的性能及多进程详解
2017/07/18 Python
python实现协同过滤推荐算法完整代码示例
2017/12/15 Python
python 实现批量xls文件转csv文件的方法
2018/10/23 Python
在Mac上删除自己安装的Python方法
2018/10/29 Python
pandas 透视表中文字段排序方法
2018/11/16 Python
python自动化测试之DDT数据驱动的实现代码
2019/07/23 Python
佛罗里达州印第安河新鲜水果:Hale Groves
2017/02/20 全球购物
拉斯维加斯酒店、演出、旅游、俱乐部及更多:Vegas.com
2019/02/28 全球购物
行政人员工作职责
2013/12/05 职场文书
学生会竞选演讲稿纪检部
2014/08/25 职场文书
党员学习新党章思想汇报
2014/10/25 职场文书
付款证明格式范文
2015/06/19 职场文书
社会实践心得体会范文
2016/01/14 职场文书
MySQL中distinct和count(*)的使用方法比较
2021/05/26 MySQL
为什么MySQL选择Repeatable Read作为默认隔离级别
2021/07/26 MySQL