/ / json.dumps () funktioniert nicht - json, python-2.7

json.dumps () funktioniert nicht - json, python-2.7

import json

def json_serialize(name, ftype, path):

prof_info = []

prof_info.append({
"profile_name": name,
"filter_type": ftype
})

with open(path, "w") as f:
json.dumps({"profile_info": prof_info}, f)

json_serialize(profile_name, filter_type, "/home/file.json")

Der obige Code speichert die Daten nicht in der Datei "file.json". Wenn ich schreibe print Vor json.dumps(), dann werden die Daten auf dem Bildschirm gedruckt. Es wird aber nicht in die Datei geschrieben.

Die Datei wird erstellt, aber beim Öffnen (über den Editor) wird nichts angezeigt. Warum?

Wie korrigiere ich das?

Antworten:

5 für die Antwort № 1

Das ist nicht so json.dumps() funktioniert. json.dumps() gibt einen String zurück, den Sie dann mit in die Datei schreiben müssen f.write(). Wie so:

with open(path, "w") as f:
json_str = json.dumps({"profile_info": prof_info})
f.write(json_str)

Oder, einfach benutzen json.dump(), der genau zum Speichern von JSON-Daten in einem Dateideskriptor existiert.

with open(path, "w") as f:
json.dump({"profile_info": prof_info}, f)

0 für die Antwort № 2

Sie müssen verwenden json.dump. json.dumps Gibt eine Zeichenkette zurück, es wird nicht in einen Dateideskriptor geschrieben.


0 für die Antwort № 3

Einfach,

import json

my_list = range(1,10) # a list from 1 to 10

with open("theJsonFile.json", "w") as file_descriptor:

json.dump(my_list, file_descriptor)