接口返回的json字符串中,有值为 Null的。
经过 json.loads(text)后,生成的字典对象中,Null已经被转成None了,拼接sql语句时,字段是字符串类型,对应的值是字符串:’None‘,字段非字符串类型,则对应的值是None (这个None在数据库中被当成一个字段或者变量),所以会报错:no such column: None
解决方法,对拼接好的sql字符串进行处理:
sql = sql.replace("'None',", "null,").replace("None,", "null,")
附:
json字符串转python对象的数据类型转换表 loads()
python对象转json字符串类型转换表 dumps()

本文探讨了如何处理接口返回的JSON中 Null 值在Python解析后转为None,并在SQL中引发错误的问题。作者提供了SQL字符串替换技巧,以确保在不同数据类型场景下正确处理None值,避免数据库查询错误。
1627

被折叠的 条评论
为什么被折叠?



