接口返回的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()

None是一个对象,而 NULL 是一个类型。 Python 中没有 NULL ,只有None,None有自己的特殊类型NoneType。 None不等于0、任何空字符串、False等。 在 Python 中,None、False、0、""(空字符串)、[](空列表)、()(空元组)、{}(空字典)都相当于False。 判断变量是否为空的高效方法是: if X is None if not X:当X为None、... 在 Python 中,有一个特殊的常量 None(N 必须大写)。和False不同,它不表示 0,也不表示空字符串,而表示没有 ,也就是空 。这里的空 并不代表空对象,即 None 和 []、“” 不同:>>>Noneis[]False>>>Noneis""FalseNone 有自己的数据类型,我们可以在 IDLE 中使用 type() 函数查看它的类型... 我用JSON解析的数据填充 数据库 。当我执行INSERT语句 ,我得到一个错误:sqlite3.OperationalError: no such column: None。一些JSON数据返回 null ,这会导致 Python 将None插入表中,但我相信这应该没问题吧?有人知道问题出在哪里吗?在回溯:Traceback (most recent call last):File "productInfo... 我们知道, python 的requests模块提供了一种简单的方式供人们以不同的方法请求一个服务。例如,我们有一个java提供的服务,接口地址为:http://127.0.0.1:5000/virtual/path,方法是post,那么,利用 python 请求该服务就可以简单的写成: import requests url = 'http://127.0.0.1:5000/virtual/path... 我有一个从arcgis shapefile生成的 Python 字典。字典的key=FID(point ID):value=nothing或“HH”。字典是这样的:Cluster_dict = {0: [u' '], 1: [u'HH'], 2: [u'HH'], 3: [u' '], 4: [u' '], 5: [u' '], 6: [u' '], 7: [u' '], 8: [u' '], 9: ... Python 2.4MySQL- python .exe-1.2.0.win32-py2.4.zipHow can I insert a NULL value in a table (MySQL-database).I can''t set a var to NULL ? Or is there a other possibility?My var must be variable string or ... I'm getting a weird error when inserting some data from a Python script to MySQL. It's basically related to a variable being blank that I am inserting. I take it that MySQL does not like blank variab...