Python json基本使用json.dumps() 和json.loads()

发布时间 2023-04-12 13:23:13作者: 木去

Python中 json的基本使用 json.dumps() 和json.loads()

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它是JavaScript的子集,易于人阅读和编写。

Json最广泛的应用是作为AJAX中web服务器和客户端的通讯的数据格式,现在也常用于http请求中。

Python中可用json模块来进行json字符串和Python数据类型的互相转换。

1. Python类型转为json字符串

可以使用 json.dumps() 方法将Python类型转换为 JSON 字符串。

import json
list1 = ['a', 'b', 123] str1 = '你好' dict1 = { "name": "张三", "info": {"family": ["father", "mother"], "age": 18}, "score": 87.5, "skill": "eat" } print(json.dumps(list1)) # ["a", "b", 123] print(json.dumps(str1)) # "\u4f60\u597d" # ensure_ascii参数表示是否将字符转为ASCII表示,False表示否 print(json.dumps(dict1, ensure_ascii=False)) # {"name": "张三", "info": {"family": ["father", "mother"], "age": 18}, "score": 87.5, "skill": "eat"} print(type(json.dumps(list1))) # <class 'str'>

 2.json字符串转为Python类型

可以使用json.loads() 方法将json字符串转换为Python类型。

j_dict = '{"name": "张三", "info": {"family": ["father", "mother"], "age": 18}, "score": 87.5, "skill": "eat"}'
dict1 = json.loads(j_dict)
print(dict1)
print(type(dict1))

 

3.将request请求得到的响应对象的text转为字典

要先确认response的text是json字符串。

import requests, json

url = 'http://www.xinfadi.com.cn/getPriceData.html'
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36"
}

resp = requests.get(url, headers=headers)
print(resp.text)
print(json.loads(resp.text)['list'][0]['prodName'])
# 大白菜