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 相关文章推荐
利用打码兔和超人打码自封装的打码类分享
Mar 16 Python
Python中的pack和unpack的使用
Mar 12 Python
Python PyAutoGUI模块控制鼠标和键盘实现自动化任务详解
Sep 04 Python
python字符串循环左移
Mar 08 Python
解决python中导入win32com.client出错的问题
Jul 26 Python
pyqt5、qtdesigner安装和环境设置教程
Sep 25 Python
selenium WebDriverWait类等待机制的实现
Mar 18 Python
浅谈Pycharm的项目文件名是红色的原因及解决方式
Jun 01 Python
keras实现theano和tensorflow训练的模型相互转换
Jun 19 Python
如何使用Django Admin管理后台导入CSV
Nov 06 Python
python用分数表示矩阵的方法实例
Jan 11 Python
教你用python实现一个无界面的小型图书管理系统
May 21 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
Linux下创建nginx脚本-start、stop、reload…
2014/08/03 PHP
PHP+Ajax实时自动检测是否联网的方法
2015/07/01 PHP
PHP基于堆栈实现的高级计算器功能示例
2017/09/15 PHP
详解thinkphp5+swoole实现异步邮件群发(SMTP方式)
2017/10/13 PHP
jquery序列化form表单使用ajax提交后处理返回的json数据
2014/03/03 Javascript
使用phantomjs进行网页抓取的实现代码
2014/09/29 Javascript
node.js中的定时器nextTick()和setImmediate()区别分析
2014/11/26 Javascript
JS基于cookie实现来宾统计记录访客信息的方法
2015/08/04 Javascript
jquery实现浮动在网页右下角的彩票开奖公告窗口代码
2015/09/04 Javascript
用window.onerror捕获并上报Js错误的方法
2016/01/27 Javascript
去除html代码里面的script正则方法
2016/05/19 Javascript
非常实用的js验证框架实现源码 附原理方法
2016/06/08 Javascript
防止Node.js中错误导致进程阻塞的办法
2016/08/11 Javascript
React如何利用相对于根目录进行引用组件详解
2017/10/09 Javascript
vue通过指令(directives)实现点击空白处收起下拉框
2018/12/06 Javascript
js+for循环实现字符串自动转义的代码(把后面的字符替换前面的字符)
2020/12/24 Javascript
浅析JavaScript中的事件委托机制跟深浅拷贝
2021/01/20 Javascript
Python中shutil模块的学习笔记教程
2017/04/04 Python
python使用threading获取线程函数返回值的实现方法
2017/11/15 Python
mvc框架打造笔记之wsgi协议的优缺点以及接口实现
2018/08/01 Python
用python一行代码得到数组中某个元素的个数方法
2019/01/28 Python
pyqt5 实现工具栏文字图片同时显示
2019/06/13 Python
Pycharm中安装Pygal并使用Pygal模拟掷骰子(推荐)
2020/04/08 Python
HTML5 FileReader对象的具体使用方法
2020/05/22 HTML / CSS
Hotter Shoes美国官网:英国最受欢迎的舒适鞋
2018/08/02 全球购物
小学教师的个人自我鉴定
2013/10/24 职场文书
市场营销专业推荐信
2013/11/03 职场文书
护理专业毕业生自荐信范文
2014/01/05 职场文书
数学国培研修感言
2014/02/13 职场文书
部队党性分析材料
2014/02/16 职场文书
中级会计职业生涯规划书
2014/03/01 职场文书
如何写自我评价?自我评价写什么好?
2014/03/14 职场文书
教师思想工作总结2015
2015/05/13 职场文书
班主任开场白
2015/06/01 职场文书
给校长的建议书范文
2015/09/14 职场文书
缓存替换策略及应用(以Redis、InnoDB为例)
2021/07/25 Redis