将JSON对象输出到单独的行中

问题描述 投票:0回答:1

我在列表中有一些JSON数据,我需要将其输出到单个文件,但我需要将每个JSON对象放在单独的行上。

这是我使用以下代码时数据现在的外观:

with open('FW_rules_adj.json', 'w') as file:
        json.dump(FWruleList, file)
[{'protocol': 'any', 'srcPort': 'Any', 'srcCidr': '10.1.10.0/24', 'destPort': 'Any', 'destCidr': 'tennis.com', 'policy': 'allow', 'syslogEnabled': False, 'comment': 'Line 1'}, {'protocol': 'any', 'srcPort': 'Any', 'srcCidr': '10.1.10.0/24', 'destPort': 'Any', 'destCidr': 'yahoo.com', 'policy': 'allow', 'syslogEnabled': False, 'comment': 'Line 2'}, {'protocol': 'any', 'srcPort': 'Any', 'srcCidr': '10.1.10.0/24', 'destPort': 'Any', 'destCidr': 'ninemsn.com.au', 'policy': 'allow', 'syslogEnabled': False, 'comment': 'Line 3'}]

但是,我需要像这样将其放入一个文件中:

{"protocol":"any", "srcPort":"Any", "srcCidr":"any", "destPort":"Any", "destCidr":"tennis.com", "policy":"allow", "syslogEnabled":false, "comment":"Line 1"}
{"protocol":"any", "srcPort":"Any", "srcCidr":"any", "destPort":"Any", "destCidr":"yahoo.com", "policy":"allow", "syslogEnabled":false, "comment":"Line 2"}
{"protocol":"any", "srcPort":"Any", "srcCidr":"any", "destPort":"Any", "destCidr":"ninemsn.com.au", "policy":"allow", "syslogEnabled":false, "comment":"Line 3"}

感谢您的任何帮助:)

json output
1个回答
0
投票

您可以在每次调用dump之后简单地写一个换行符:

with open('FW_rules_adj.json', 'w') as file:
    json.dump(FWruleList, file)
    file.write("\n")

[请确保不要将dump格式更改为将在编码的JSON中添加换行符的格式,否则以后将很难读取该文件。

© www.soinside.com 2019 - 2024. All rights reserved.