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开发之thread线程基础实例入门
Nov 11 Python
python函数的5种参数详解
Feb 24 Python
Python实现的将文件每一列写入列表功能示例【测试可用】
Mar 19 Python
在cmd命令行里进入和退出Python程序的方法
May 12 Python
numpy的文件存储.npy .npz 文件详解
Jul 09 Python
Pycharm设置去除显示的波浪线方法
Oct 28 Python
基于Python解密仿射密码
Oct 21 Python
python实现批量文件重命名
Oct 31 Python
使用python turtle画高达
Jan 19 Python
Python获取二维数组的行列数的2种方法
Feb 11 Python
浅谈python多线程和多线程变量共享问题介绍
Apr 17 Python
python实现学生信息管理系统源码
Feb 22 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访问查询mysql数据的三种方法
2006/10/09 PHP
AJAX for PHP简单表数据查询实例
2007/01/02 PHP
Zend Framework实现自定义过滤器的方法
2016/12/09 PHP
ThinkPHP5 的简单搭建和使用详解
2018/11/15 PHP
javascript 函数式编程
2007/08/16 Javascript
javascript 多级checkbox选择效果
2009/08/20 Javascript
JavaScript操作XML实例代码(获取新闻标题并分页,并分页)
2010/05/25 Javascript
jQuery+CSS 半开折叠效果原理及代码(自写)
2013/03/04 Javascript
javascript实现yield的方法
2013/11/06 Javascript
jquery form表单序列化为对象的示例代码
2014/03/05 Javascript
JS通过ajax动态读取xml文件内容的方法
2015/03/24 Javascript
jQuery与JavaScript节点创建方法的对比
2016/11/18 Javascript
JS+CSS实现下拉刷新/上拉加载插件
2017/03/31 Javascript
angular-cli修改端口号【angular2】
2017/04/19 Javascript
Vue2.0 从零开始_环境搭建操作步骤
2017/06/14 Javascript
vue通过路由实现页面刷新的方法
2018/01/25 Javascript
python虚拟环境 virtualenv的简单使用
2020/01/21 Javascript
es6 super关键字的理解与应用实例分析
2020/02/15 Javascript
JavaScript 链表定义与使用方法示例
2020/04/28 Javascript
Python实现一个转存纯真IP数据库的脚本分享
2017/05/21 Python
Python实现简单文本字符串处理的方法
2018/01/22 Python
Python堆排序原理与实现方法详解
2018/05/11 Python
详解python和matlab的优势与区别
2019/06/28 Python
Python类中的装饰器在当前类中的声明与调用详解
2020/04/15 Python
tensorflow常用函数API介绍
2020/04/19 Python
浅析与CSS3的loading动画加载相关的transition优化
2015/05/18 HTML / CSS
草莓网化妆品加拿大网站:Strawberrynet Canada
2016/09/20 全球购物
九年级家长会邀请函
2014/01/15 职场文书
答谢会策划方案
2014/05/12 职场文书
先进工作者推荐材料
2014/12/23 职场文书
2015年大学班长个人工作总结
2015/04/24 职场文书
教师聘用意向书
2015/05/11 职场文书
保护地球的宣传语
2015/07/13 职场文书
工作自我评价范文
2019/03/21 职场文书
用Python selenium实现淘宝抢单机器人
2021/06/18 Python
React更新渲染原理深入分析
2022/12/24 Javascript