【发布时间】:2018-08-01 11:10:33
【问题描述】:
我有一个具有这种结构的文件:
{
"key" : "A",
"description" : "1",
"uninterestingInformation" : "whatever"
}
{
"key" : "B",
"description" : "2",
"uninterestingInformation" : "whatever"
}
{
"key" : "C",
"description" : "3",
"uninterestingInformation" : "whatever"
}
我想在 Python 中构建一个字典,其中包含作为键的键和作为值的描述。我有更多的领域,但只有其中 2 个是我感兴趣的。
这个文件并不完全是一个 .json 文件,它是一个包含很多类似 json 对象的文件。
json.loads 显然不起作用。
关于如何读取数据有什么建议吗?
我已经看过this post,但是我的json对象不在一行...
编辑:
如果我的解释不清楚,这个例子是相当准确的,我有很多类似的JSON对象,一个接一个,用换行符(\n)分隔,没有逗号。因此,总体而言,该文件不是有效的 JSON 文件,而每个对象都是有效的 JSON 对象。
我最终应用的解决方案是:
api_key_file = open('mongo-config.json').read()
api_key_file = '[' + api_key_file + ']'
api_key_file= api_key_file.replace("}\n{", "},\n{")
api_key_data = json.loads(api_key_file)
api_key_description = {}
for data in api_key_data:
api_key_description[data['apiKey']] = data['description']
它很适合我的情况。下面的 cmets 解释了可能有更好的方法来做到这一点。
【问题讨论】: