一、json.loads()报错原因
json.loads()是将json字符串转换成python字典或者列表的方法,在使用时,可能会出现报错。常见的报错原因有:
1、json字符串格式错误,导致无法转换成python对象。
例如,下面的代码中,json字符串中的键没有用引号括起来。
import json data = '{"name": john, "age": 22}' json.loads(data)
2、json字符串中的值类型不符合python的类型要求。
例如,下面的代码中,json字符串中的age键所对应的值是字符串,无法转换成int类型。
import json data = '{"name": "john", "age": "22"}' json.loads(data)
3、json字符串中存在不存在的键。
例如,下面的代码中,json字符串中不存在address键。
import json data = '{"name": "john", "age": 22}' print(data["address"])
二、json.dumps是什么意思
json.dumps()是将python对象转换成json字符串的方法。
例如,下面的代码中,将python字典转换成json字符串。
import json data = {"name": "john", "age": 22} json.dumps(data)
三、json.load事件是异步吗?
json.load()是将文件读取成json字符串,转成python对象。
常见的读取方式是使用open()打开文件再将文件对象传给json.load()方法。该事件是同步异步均可使用,取决于文件读取的方式。
例如,下面的代码中,使用同步方式读取文件,并将其转换成python对象。
import json with open('data.json', 'r') as f: data = json.load(f)
四、json.loads()方法
json.loads()方法的用法和示例:
将json字符串转化成字典:
import json data = '{"name": "john", "age": 22}' json_dict = json.loads(data) print(type(json_dict)) print(json_dict)
将json字符串转化成列表:
import json data = '[1,2,3]' json_list = json.loads(data) print(type(json_list)) print(json_list)
五、json.loads()和json.load()的区别
两者的区别在于传入的参数,json.loads()接受一个json字符串,而json.load()接受一个文件对象。
例如,下面的代码中,使用json.loads()和json.load()分别将字符串和文件转换成字典。
import json # 使用json.loads()将json字符串转换成字典 data = '{"name": "john", "age": 22}' json_dict = json.loads(data) print(type(json_dict)) print(json_dict) # 使用json.load()将文件转换成字典 with open('data.json', 'r') as f: json_dict = json.load(f) print(type(json_dict)) print(json_dict)
原创文章,作者:TAQBH,如若转载,请注明出处:https://www.506064.com/n/363888.html