python json实战—如何解析json

猿友 2021-06-19 14:39:52 浏览数 (4004)
反馈

随着前后端分离逐渐成为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编程狮


0 人点赞