/ / json.dumps () ne fonctionne pas - json, python-2.7

json.dumps () ne fonctionne pas - 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")

Le code ci-dessus ne "vide pas les données dans le fichier" file.json ". Quand j'écris print avant json.dumps(), les données sont alors imprimées à l'écran. Mais il ne sera pas vidé dans le fichier.

Le fichier est créé mais en l'ouvrant (à l'aide du bloc-notes), il n'y a rien. Pourquoi?

Comment le corriger?

Réponses:

5 pour la réponse № 1

Ce n'est pas comment json.dumps() travaux. json.dumps() retourne une chaîne, que vous devez ensuite écrire dans le fichier en utilisant f.write(). Ainsi:

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

Ou simplement utiliser json.dump(), qui existe exactement dans le but de transférer des données JSON dans un descripteur de fichier.

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

0 pour la réponse № 2

Vous devez utiliser json.dump. json.dumps renvoie une chaîne, il n’écrit pas dans un descripteur de fichier.


0 pour la réponse № 3

Simplement,

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)