In Python
, ich versuche, eine XML
Datei zu nehmen, zu verarbeiten, dann geben Sie die Daten auf JSON
. Die XML-Verarbeitung funktioniert einwandfrei, aber ich habe Probleme beim Formatieren des JSON. Die Ausgabedatei sieht mehr wie eine Liste mit darin enthaltenen Wörterbüchern aus, was sinnvoll ist, weil der Code das tatsächlich tut. Wie kann ich dies zu einer geeigneten JSON-Datei machen?JSON in Datei schreiben - falsches Format?
filename = 'data.json'
d = []
for elem in ET.fromstring(data).findall('.//table/row'):
field1 = elem.get('field1')
field2 = elem.get('field2')
field3 = elem.get('field3')
field4 = elem.get('field4')
l = {'field1' : field1,
'field2' : field2,
'field3' : field3,
'field4' : field4}
d.append(l)
f_out = open(filename, 'w')
json.dump(d, f_out)
f_out.close()
Die Ausgabedatei sieht wie folgt aus:
[{"field1": "field1", "field2": "field2", "field3": "field3", "field4": "field4"}, ... {"field1": "field1", "field2": "field2", "field3": "field3", "field4": "field4"}]
Wenn ich würde erwarten, dass es aussehen:
{"field1": "field1", "field2": "field2", "field3": "field3", "field4": "field4"}, ... {"field1": "field1", "field2": "field2", "field3": "field3", "field4": "field4"}
, wenn Sie versuchen json.dump Hinzufügen indent – glls
Ihr Code sieht gut aus. Ich vermute, dass die Ausgabe eine "richtige JSON-Datei" ist. Bitte zeigen Sie die Ausgabe, die Sie von diesem Programm erhalten, und welche Ausgabe Sie erwartet haben. –
Sie schreiben 'd', was eine Liste ist, die in JSON als' [item1, item2, item3] 'ausgedrückt wird. –