有没有一种方法可以迭代JSON文件并将特定的键和值写入新的JSON文件



我试图迭代JSON文件中的特定键和值,并将它们写入一个新的JSON文件。虽然传递到第二个JSON文件上的数据是第一个JSON文件的整个对象,但我没有收到任何错误,第二个JSON文件正在成功创建。

def get_keys_values():
json_file = open("get_failed_archives.json")
json_data = json.load(json_file)
for archive_data in json_data["data"]:
archive_data["latestEvent"]["objectName"]
archive_data["latestEvent"]["time"]
archive_data["latestEvent"]["eventType"]
archive_data["latestEvent"]["eventStatus"]
with open("new_json_file.json", "w") as file:
json.dump(archive_data, file)

有没有一种方法可以将特定的键和值从一个JSON文件写入另一个JSON文件?

正如josh所说,语句archive_data["latestEvent"]["objectName"]在功能上不起任何作用。

如果你想创建一个新的JSON对象,在你的情况下,它在功能上是dict项的列表(我认为(,下面的方法将与你想要它做的(我认为的(相匹配。

我添加了一个pprint语句来打印结果

import json
from pprint import pprint

def get_keys_values():
with open("get_failed_archives.json") as json_file:
json_data = json.load(json_file)
new_data = []
for archive_data in json_data["data"]:
new_data.append({
"objectName": archive_data["latestEvent"]["objectName"],
"time": archive_data["latestEvent"]["time"],
"eventType": archive_data["latestEvent"]["eventType"],
"eventStatus": archive_data["latestEvent"]["eventStatus"]
})
pprint(new_data, indent=4)
with open("new_json_file.json", "w") as file:
json.dump(new_data, file)

最新更新