在接下来的挑战中,我的大脑崩溃了。
尝试清理JSON示例数据并将其导出到JSONL文件。 组织JSON文件:
{"data": {"allSites": {"activeSys": 123, "totalSys": 24718}},
"sites": [{"accountId": "12345", "accountName": "system_a"},
{"accountId": "67890","accountName": "system_b"}]}
所需的JSONL数据格式:
{"accountId": "12345", "accounName": "system_a"}
{"accountId": "67890", "accounName": "system_b"}
答案 0 :(得分:0)
您可以将ast.literal_eval
转换用作
中间步骤以提取所需的部分,然后使用json.dumps
转换为新创建的json对象(例如
import json
import ast
Js= """{"data": {"allSites": {"activeSys": 123, "totalSys": 24718}},
"sites": [{"accountId": "12345", "accountName": "system_a"},
{"accountId": "67890","accountName": "system_b"}]}"""
data = ast.literal_eval(Js)
newJs = data["sites"]
updatedJs = json.dumps(newJs, indent=4)
print(updatedJs)
如果要读取文件(json.file
)并写入另一个文件(data_new.json
),请使用
import json
import ast
with open('data.json') as f, open('data_new.json', 'w') as f_out:
data = ast.literal_eval(f.read())
newJs = data["sites"]
f_out.write(format(newJs))