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 paramiko实现ssh远程访问的方法
Dec 03 Python
python实现多线程采集的2个代码例子
Jul 07 Python
django文档学习之applications使用详解
Jan 29 Python
pandas筛选某列出现编码错误的解决方法
Nov 07 Python
python 利用浏览器 Cookie 模拟登录的用户访问知乎的方法
Jul 11 Python
Django使用模板后无法找到静态资源文件问题解决
Jul 19 Python
基于Python获取照片的GPS位置信息
Jan 20 Python
python使用python-pptx删除ppt某页实例
Feb 14 Python
Python对称的二叉树多种思路实现方法
Feb 28 Python
django 读取图片到页面实例
Mar 27 Python
DRF使用simple JWT身份验证的实现
Jan 14 Python
Django对接elasticsearch实现全文检索的示例代码
Aug 02 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
一个显示某段时间内每个月的方法 返回由这些月份组成的数组
2012/05/16 PHP
phalcon model在插入或更新时会自动验证非空字段的解决办法
2016/12/29 PHP
PHP 获取指定地区的天气实例代码
2017/02/08 PHP
利用php的ob缓存机制实现页面静态化方法
2017/07/09 PHP
PHP的mysqli_sqlstate()函数讲解
2019/01/23 PHP
PHP实现文字写入图片功能
2019/02/18 PHP
jquery随意添加移除html的实现代码
2011/06/21 Javascript
JavaScript中数据结构与算法(一):栈
2015/06/19 Javascript
Jquery调用iframe父页面中的元素及方法
2016/08/23 Javascript
深入理解Node.js的HTTP模块
2016/10/12 Javascript
详解Node.js中exports和module.exports的区别
2017/04/19 Javascript
NodeJs的fs读写删除移动监听
2017/04/28 NodeJs
ZeroClipboard.js使用一个flash复制多个文本框
2017/06/19 Javascript
JavaScript30 一个月纯 JS 挑战中文指南(英文全集)
2017/07/23 Javascript
详解利用 Vue.js 实现前后端分离的RBAC角色权限管理
2017/09/15 Javascript
Web技术实现移动监测的介绍
2017/09/18 Javascript
原生js+cookie实现购物车功能的方法分析
2017/12/21 Javascript
解决微信小程序中的滚动穿透问题
2019/09/16 Javascript
小程序识别身份证,银行卡,营业执照,驾照的实现
2019/11/05 Javascript
jQuery实现弹出层效果
2019/12/10 jQuery
[01:02:05]LGD vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python实现建立SSH连接的方法
2015/06/03 Python
python递归打印某个目录的内容(实例讲解)
2017/08/30 Python
解决出现Incorrect integer value: '' for column 'id' at row 1的问题
2017/10/29 Python
python实现创建新列表和新字典,并使元素及键值对全部变成小写
2019/01/15 Python
用Python实现将一张图片分成9宫格的示例
2019/07/05 Python
opencv 实现特定颜色线条提取与定位操作
2020/06/02 Python
详解Windows下PyCharm安装Numpy包及无法安装问题解决方案
2020/06/18 Python
python 基于PYMYSQL使用MYSQL数据库
2020/12/24 Python
详解canvas在圆弧周围绘制文本的两种写法
2018/05/22 HTML / CSS
网络通讯中,端口有什么含义,端口的取值范围
2012/11/23 面试题
建筑人员岗位职责
2013/12/25 职场文书
开办大学饮食联盟创业计划书
2014/01/29 职场文书
希特勒的演讲稿
2014/05/23 职场文书
民事和解协议书格式
2014/11/29 职场文书
JS setTimeout与setInterval的区别
2022/04/20 Javascript