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

本文介绍了Python中使用内置json模块解析和转换JSON格式数据的方法。通过json.loads()将JSON字符串转换为Python字典,注意转换过程中键值对的顺序可能会变化。同时展示了如何使用json.dumps()将Python字典转换回JSON字符串。此外,还演示了如何解析嵌套的JSON数据并提取其中的值。
摘要由CSDN通过智能技术生成

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

输出:

d08df3f113a7e1582e21b2065fd94d71.png

又从字典数据变为了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]))!="":

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在线工具供大家参考使用:

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

希望与广大网友互动??

点此进行留言吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值