随着前后端分离逐渐成为web项目的主流,JSON的使用在各种语言中都能找到使用的方法。那么对于python而言,python怎么解析json呢?其实在W3C的编程手册里面介绍得很明白了。本篇文章的目的,就是设计一个样例,来深化学习python的json操作。
阅前须知
本篇文章用到的知识点有:
JSON数据解析方法:python3json数据解析;
request库的部分方法(本篇单独讲解,request库的安装可以参考这篇文章:python怎么安装requests?如何使用pip安装requests库);
api的使用(参考这篇文章:免费api介绍,赶紧收藏!);
介绍
json作为前后端分离后的唯一联系,后端和前端都得具有一定的解析json的能力。而在C/S模式(B/S是浏览器与服务器交互,C/S是客户端与服务器交互)下客户端要和服务器交互,有些也会采用JSON进行数据传输(比如今日头条等)。接下来小编将介绍python如何作为客户端解析服务器返回的json。
JSON的获取
首先要介绍一下requests
库,他可以模拟浏览器向服务器发起请求。可以使用requests
的get()
方法对目标url发起请求。
import requests
response = requests.get('http://www.kuaidi100.com/query?type=ems&postid=1111111111111')
# 使用request请求一个json,这里的快递单号是小编随便编写的
获得响应后,通过requests
的text()
方法可以取到响应的内容(这里是一串字符串)。
response = response.text
JSON的解析
接下来的内容就是手册中提到的JSON解析方法了,主要是json
库的两个方法loads()
和dumps()
。
response = json.loads(response)
# 使用JSON模块的loads方法,可以将这个字符串进行编码,
print(response)
print(type(response))
# 打印结果,发现是字典(JSON对应JavaScript的对象,对应python的字典,对应java的map)
response = json.dumps(response)
# 使用JSON的的dumps方法,可以把字典转化为字符串(JSON的传输是以字符串传输的,)
print(response)
print(type(response))
完整代码
import requests
import json
response = requests.get('http://www.kuaidi100.com/query?type=ems&postid=111111111111')
# 使用request请求一个json,这里的快递单号是小编随便编写的
print(response)
print(type(response))
# 打印后发现这是一个对象
response = response.text
# 使用requests的的text方法取出响应的文本
print(response)
print(type(response))
# 打印后发现是个字符串(JSON在传输的时候是以字符串进行传输的)
response = json.loads(response)
# 使用JSON模块的loads方法,可以将这个字符串进行编码,
print(response)
print(type(response))
# 打印结果,发现是字典(JSON对应JavaScript的对象,对应python的字典,对应java的map)
response = json.dumps(response)
# 使用JSON的的dumps方法,可以把字典转化为字符串(JSON的传输是以字符串传输的,)
print(response)
print(type(response))
小结
以上就是python怎么解析json的全部内容,更多python学习可以前往python字节宝。