【Python】字符串 转为 JSON 格式的注意事项
1. 字符串转json
我们如果使用sql存储json格式,要将json转为字符串才能转。
存入sql前,字典格式转json字符串可以用这个:
Table_= '''
[
{
"id": 1,
"name": "Alice",
"task": 25,
"work": "alice@example.com"
},
{
"id": 2,
"name": "Bob",
"task": 30,
"work": "bob@example.com"
}
]
'''
Json_str=json.dumps(Table_).encode().decode("unicode_escape")
print(Json_str)
2. json的引号的使用
python读取从sql中的json字符串时,需要将单引号换为双引号。
JSON 支持字符串(String)类型,但是必须用 双引号 " 括起来。
例如:"hello",单引号会成为问题的。
转换的方法:
new_json= Json_str.replace("'",'"')
print(new_json)
如果用python读取sql 里面的json内容,因为读取出来的是字符串类型,
所以要对字符串做转json,这时候要处理单引号双引号的问题。
关于json的其他注意点:
- JSON 数据必须使用双引号,键必须是字符串。
- Python 的
dict和list可以轻松转换为 JSON。- 使用
json.dumps()和json.dump()可以生成 JSON 字符串或写入文件。- 复杂类型需要自定义序列化函数。
- 如果对json格式解码的时候遇到这个问题:
.JSONDecodeError: Expecting property name enclosed in double quotes
除了可能是遇到2的问题,也有可能需要转的对象,不是字符串类型,而是数字类型。
例如:
上面的字典是有问题是,上面的key值,0,不能是数字,要变成 “0”
这就是 注意点上说的,键值key必须是字符串对象!
如果看不出是什么问题,可以用这个网址来判断json出现了什么格式 :https://jsonlint.com/

浙公网安备 33010602011771号