【Python】字符串 转为 JSON 格式的注意事项

1. 字符串转json

我们如果使用sql存储json格式,要将json转为字符串才能转。

存入sql前,字典格式转json字符串可以用这个:

Table_= '''
[
    {
        "id": 1,
        "name": "Alice",
        "task": 25,
        "work": "a@example.com"
    },
    {
        "id": 2,
        "name": "Bob",
        "task": 30,
        "work": "b@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的问题,也有可能需要转的对象,不是字符串类型,而是数字类型。

例如:

{ 0 :‘1’}

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

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

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

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值