Python使用内置json模块解析json格式数据的方法

yipeiwu_com5年前Python基础

本文实例讲述了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)

输出:

 

又从字典数据变为了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

PS:关于json操作,这里再为大家推荐几款比较实用的json在线工具供大家参考使用:

在线JSON代码检验、检验、美化、格式化工具:
http://tools.jb51.net/code/json

JSON在线格式化工具:
http://tools.jb51.net/code/jsonformat

在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson

json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools.jb51.net/code/jsoncodeformat

在线json压缩/转义工具:
http://tools.jb51.net/code/json_yasuo_trans

更多Python相关内容感兴趣的读者可查看本站专题:《Python操作json技巧总结》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

Python3编码问题 Unicode utf-8 bytes互转方法

为什么需要本文,因为在对接某些很老的接口的时候,需要传递过去的是16进制的hex字符串,并且要求对传的字符串做编码,这里就介绍了utf-8 Unicode bytes 等等。 #英文...

Sanic框架应用部署方法详解

本文实例讲述了Sanic框架应用部署方法。分享给大家供大家参考,具体如下: 简介 Sanic是一个类似Flask的Python 3.5+ Web服务器,它的写入速度非常快。除了Flask...

Python将文字转成语音并读出来的实例详解

Python将文字转成语音并读出来的实例详解

前言 本篇文章主要介绍,如何利用Python来实现将文字转成语音。将文字转成语音主要有两种不同的实现方法:先将文字转成语音,然后再通过读取语音实现发音、直接调用系统内置的语音引擎实现发音...

Python中使用 Selenium 实现网页截图实例

Selenium 是一个可以让浏览器自动化地执行一系列任务的工具,常用于自动化测试。不过,也可以用来给网页截图。目前,它支持 Java、C#、Ruby 以及 Python 四种客户端语言...

解决Python下json.loads()中文字符出错的问题

解决Python下json.loads()中文字符出错的问题

Python:2.7 IDE:Pycharm5.0.3 今天遇到一个问题,就是在使用json.load()时,中文字符被转化为Unicode码的问题,解决方案找了半天,无解。全部代码...