使用Python的JSON数据中的Nulls而不是Nones

2024-05-16 02:22:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在处理以下数据:

[{"title": null, "metric1": 361429, "metric2": 36,},{"title": null, "metric1": 253798, "metric2": 48}]

当我试图将此数据分配给Python中的一个变量(目的是将其解析出来)时,收到以下错误消息:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'null' is not defined

根据我的研究,似乎None是Python的null。我想知道的是,是否可以使用Python将数据中的null更改为None

我试着从数据中创建一个字符串,将其分配给data,并用这种方式替换null

data = data.replace('null','None')

但这会产生一系列数据:

data = '[{"title": None, "metric1": 361429, "metric2": 36,},{"title": None, "metric1": 253798, "metric2": 48}]'

我不知道如何将它从字符串转换回JSON。

编辑:我从一个单独的源复制并粘贴这些数据到Python解释器中。


Tags: 数据字符串目的none消息mostdatatitle
2条回答

如上所述,不需要为"None"替换"null"

只是

import json
parsed_data = json.loads(data)

简单多了!

在将列表分配给变量之前,只需将None分配给null

null = None
var = [{"title": null, "metric1": 361429, "metric2": 36,},{"title": null, "metric1": 253798, "metric2": 48}]

然后您就不需要对字符串进行相当不必要的转换(并使用json.loads返回到Python对象),只需将null替换为None

但是,只有当您从某个源复制粘贴代码时,这才是真正必要的。否则,标准答案是使用json.loads(或json.load)。

相关问题 更多 >