如何解析包含None的python字符串json?

lndjwyie  于 2023-04-19  发布在  Python
关注(0)|答案(3)|浏览(318)

如何将包含Python None的字符串json解析为json对象?
JSON字符串变量
dummy="{'this':None}"; json.loads(dummy)
如果我使用json.loads,则出错
JSONDecodeError:属性名应用双引号括起来:第1行和第2列(字符1)
接下来,我们将单引号替换为双引号。

json.loads(dummy.replace("'", '"'))

将单引号替换为双引号后出错
JSONDecodeError:预期值:第1行和第10列(第9栏)
如何解析这个json字符串?

vx6bjr1n

vx6bjr1n1#

这不是一个JSON。JSON由json.orgRFC8259定义,并且不识别单引号字符串,也不识别None。您的数据的JSON等价物将是{"this":null}。幸运的是,它不仅仅是垃圾,它是Python文字的格式,并且可以解析为:

from ast import literal_eval

obj = literal_eval("{'this':None}")

当然,这只适用于Python;如果你想用其他语言交换这些数据,你应该使用更标准的格式(比如正确的JSON)。

mspsb9vt

mspsb9vt2#

你可以使用ast.literal_eval

>>> import ast
>>> ast.literal_eval("{'this':None}")
{'this': None}
kxxlusnw

kxxlusnw3#

这是可行的:
dummy = '{“this”:null}'; json_obj = json.loads(dummy)

相关问题