【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 的 dictlist 可以轻松转换为 JSON。
  • 使用 json.dumps()json.dump() 可以生成 JSON 字符串或写入文件。
  • 复杂类型需要自定义序列化函数。

  1. 如果对json格式解码的时候遇到这个问题:

.JSONDecodeError: Expecting property name enclosed in double quotes

除了可能是遇到2的问题,也有可能需要转的对象,不是字符串类型,而是数字类型。

例如:

上面的字典是有问题是,上面的key值,0,不能是数字,要变成 “0”

这就是 注意点上说的,键值key必须是字符串对象!

如果看不出是什么问题,可以用这个网址来判断json出现了什么格式 :https://jsonlint.com/

35944cbae0b5488eb0b15c6a41fd0c47

posted on 2025-07-09 16:30  梅格安小姐  阅读(36)  评论(0)    收藏  举报