Peut json.charges ignorer les virgules?
Comme mentionné dans cette question StackOverflow , vous n'êtes pas autorisé à avoir des virgules de fin dans json. Par exemple, CE
{
"key1": "value1",
"key2": "value2"
}
Est bien, mais ce
{
"key1": "value1",
"key2": "value2",
}
N'est pas valide.
Pour les raisons mentionnées dans cette autre question de StackOverflow , l'utilisation d'une virgule de fin est légale (et peut-être encouragée?) dans le code Python. Je travaille avec Python et JSON, donc j'aimerais pouvoir être cohérent sur les deux types de fichiers. Est-il un moyen de avez-vous json.loads
ignorer les virgules de fin?
22
demandé sur
Community
2014-05-17 02:12:44
2 réponses
Vous pouvez envelopper l'analyseur JSON de python avec jsoncomment
Le Commentaire JSON permet d'analyser des fichiers ou des chaînes JSON avec:
- commentaires sur une ou plusieurs lignes
- chaînes de données multi-lignes
- virgules de fin dans les objets et les tableaux, après le dernier élément
Exemple d'utilisation:
import json
from jsoncomment import JsonComment
with open(filename) as data_file:
parser = JsonComment(json)
data = parser.load(data_file)
4
répondu
Steve Lorimer
2017-07-04 20:55:03
Supprimez les virgules avant de passer la valeur.
import re
def clean_json(string):
string = re.sub(",[ \t\r\n]+}", "}", string)
string = re.sub(",[ \t\r\n]+\]", "]", string)
return string
7
répondu
andrewgrz
2014-05-16 22:39:21