-
json.load():是从文件中加载内容并转换成json;
-
json.loads():是将字符串转换成json。
将一个 python
的字符串转为字典,比如字符串:
user_info = '{"name" : "john", "gender" : "male", "age": 28}'
转为下面的字典:
user_dict = {"name" : "john", "gender" : "male", "age": 28}
但是使用 json
进行转换存在一个潜在的问题。
由于 json
语法规定 数组或对象之中的字符串必须使用双引号,不能使用单引号使
用 ast.literal_eval
进行转换既不存在使用 json
进行转换的引号问题,也不存在使用 eval
进行转换的 安全性问题
-
import ast
-
user = '{"name" : "john", "gender" : "male", "age": 28}'
-
user_dict = ast.literal_eval(user)
-
user_dict
-
# {'gender': 'male', 'age': 28, 'name': 'john'}
-
user_info = "{'name' : 'john', 'gender' : 'male', 'age': 28}"
-
user_dict = ast.literal_eval(user)
-
user_dict
-
# {'gender': 'male', 'age': 28, 'name': 'john'}