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 相关文章推荐
python3抓取中文网页的方法
Jul 28 Python
python 循环遍历字典元素的简单方法
Sep 11 Python
深入理解Python对Json的解析
Feb 14 Python
Python排序算法实例代码
Aug 10 Python
python TKinter获取文本框内容的方法
Oct 11 Python
Python数据抓取爬虫代理防封IP方法
Dec 23 Python
对python中list的拷贝与numpy的array的拷贝详解
Jan 29 Python
Python OpenCV之图片缩放的实现(cv2.resize)
Jun 28 Python
Python logging日志模块 配置文件方式
Jul 12 Python
python 还原梯度下降算法实现一维线性回归
Oct 22 Python
OpenCV-Python 实现两张图片自动拼接成全景图
Jun 11 Python
Python图像处理库PIL详细使用说明
Apr 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下读取文本文件的代码
2008/07/02 PHP
PHP SEO优化之URL优化方法
2011/04/21 PHP
laravel实现于语言包的完美切换方法
2019/09/29 PHP
SUN的《AJAX与J2EE》全文译了
2007/02/23 Javascript
Locate a File Using a File Open Dialog Box
2007/06/18 Javascript
在chrome中window.onload事件的一些问题
2010/03/01 Javascript
基于jQuery的弹出消息插件 DivAlert之旅(一)
2010/04/01 Javascript
js判断输入是否为正整数、浮点数等数字的函数代码
2010/11/17 Javascript
jQuery使用prepend()方法在元素前添加内容用法实例
2015/03/26 Javascript
JavaScript中getUTCSeconds()方法的使用详解
2015/06/11 Javascript
JavaScript jquery及AJAX小结
2016/01/24 Javascript
JavaScript数组方法大全(推荐)
2016/07/05 Javascript
seajs学习教程之基础篇
2016/10/20 Javascript
webpack配置文件和常用配置项介绍
2017/04/28 Javascript
vue2.x+webpack快速搭建前端项目框架详解
2017/11/30 Javascript
vue better-scroll插件使用详解
2018/01/25 Javascript
浅谈Vue2.0中v-for迭代语法的变化(key、index)
2018/03/06 Javascript
vue-cli 2.*中导入公共less文件的方法步骤
2018/11/22 Javascript
详解微信小程序框架wepy踩坑记录(与vue对比)
2019/03/12 Javascript
[02:49]DOTA2完美大师赛首日观众采访
2017/11/23 DOTA
[01:19:46]EG vs Secret 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.21.mp4
2020/07/19 DOTA
python del()函数用法
2013/03/24 Python
python实现代理服务功能实例
2013/11/15 Python
python中的字典使用分享
2016/07/31 Python
python实现分页效果
2017/10/25 Python
python中从str中提取元素到list以及将list转换为str的方法
2018/06/26 Python
Django 创建新App及其常用命令的实现方法
2019/08/04 Python
浅谈Pytorch torch.optim优化器个性化的使用
2020/02/20 Python
python实现计算器简易版
2020/12/17 Python
CSS3 完美实现圆角效果
2009/07/13 HTML / CSS
localStorage 设置过期时间的方法实现
2018/12/21 HTML / CSS
MANGO官方网站:西班牙芒果服装品牌
2017/01/15 全球购物
澳大利亚制造的蜡烛和扩散器:Glasshouse Fragrances
2018/05/20 全球购物
导游词之临安白水涧
2019/11/05 职场文书
gateway与spring-boot-starter-web冲突问题的解决
2021/07/16 Java/Android
联想win10摄像头打不开怎么办?win10笔记本摄像头打不开解决办法
2022/04/08 数码科技