json.dumps在条目之间需要额外的“,”

时间:2015-01-07 13:12:25

标签: python json

我的json.dumps代码:

print json.dumps({'cidr': item, 'name': 'Malware'}, sort_keys=True, indent=4, separators=(', ',    ': '))

到目前为止工作正常,因为它输出:

    {
    "cidr": "98.131.229.2/32", 
    "name": "Malware"
    }
    {
    "cidr": "98.158.178.231/32", 
    "name": "Malware"
    }

我需要另外两件事

  • 开始和结束括号[ ](第一行和最后一行)
  • 条目之间的额外,

我试过一个循环,但这给我带来了额外的,也在最后(就在结束前)

所以,最后,我需要一个输出,如:

[
{
    "cidr": "98.131.229.2/32", 
    "name": "Malware"
}
,
{
    "cidr": "98.158.178.231/32", 
    "name": "Malware"
}
]

我可以使用标准子工具执行此操作,还是需要运行其他工具?

我没有使用词典。完整代码:

malwareurl = "http://www.malwaredomainlist.com/hostslist/ip.txt"  # URL to TXT file

    print "Downloading with urllib2"
    f = urllib2.urlopen(malwareurl)
    result = f.read().split("\r\n")
    ips = [x + "/32" for x in result if x]

    for item in ips:
        print json.dumps({'cidr': item, 'name': 'Malware'}, sort_keys=True, indent=4, separators=(', ', ': '))

1 个答案:

答案 0 :(得分:3)

解决方案是构建一个列表,然后转储列表:

result = []
for item in ips:
    result.append({'cidr': item, 'name': 'Malware'})

print json.dumps(result)