web-dev-qa-db-fra.com

Comment convertir une liste en jsonarray en python

J'ai une ligne au format suivant:

row = [1L,[0.1,0.2],[[1234L,1],[134L,2]]]

Maintenant, ce que je veux, c'est écrire ce qui suit dans le fichier:

[1,[0.1,0.2],[[1234,1],[134,2]]]

Convertir ci-dessus en un jsonarray?

Existe-t-il une méthode intégrée, une fonction dans python pour "vider" un tableau dans un tableau json?

Notez également que je ne veux pas que "L" soit sérialisé dans mon fichier.

57
Fraz

Utilisez le module json) pour générer une sortie JSON:

import json

with open(outputfilename, 'wb') as outfile:
    json.dump(row, outfile)

Ceci écrit le résultat JSON directement dans le fichier (remplace tout contenu précédent si le fichier existait déjà).

Si vous avez besoin de la chaîne de résultat JSON dans Python lui-même, utilisez json.dumps() (ajouté s, pour 'chaîne'):

json_string = json.dumps(row)

La L est juste la syntaxe Python pour une valeur entière longue; la bibliothèque json sait comment gérer ces valeurs, aucune L ne sera écrite.

Sortie de la chaîne de démonstration:

>>> import json
>>> row = [1L,[0.1,0.2],[[1234L,1],[134L,2]]]
>>> json.dumps(row)
'[1, [0.1, 0.2], [[1234, 1], [134, 2]]]'
77
Martijn Pieters
import json
row = [1L,[0.1,0.2],[[1234L,1],[134L,2]]]
row_json = json.dumps(row)
11
virtuexru