Maison  >  Article  >  développement back-end  >  Pourquoi est-ce que j'obtiens une « ValueError : Extra Data » lors du chargement de JSON en Python ?

Pourquoi est-ce que j'obtiens une « ValueError : Extra Data » lors du chargement de JSON en Python ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-16 11:59:03881parcourir

Why Am I Getting a

Erreur de chargement JSON : "Données supplémentaires" dans Python Json.loads

Lors de la tentative de chargement de données JSON à partir d'un fichier à l'aide de json.loads , vous pouvez rencontrer une erreur « ValueError : Données supplémentaires ». Cet article identifie la cause de cette erreur et propose une solution.

Causes

Cette erreur se produit lorsqu'il y a des informations supplémentaires présentes dans le fichier JSON après l'objet JSON valide . Il peut s'agir de données non pertinentes, de caractères restants d'opérations précédentes ou de données mal formatées.

Résolution

La méthode que vous avez utilisée, analysant de manière itérative le fichier JSON, tente de charger toutes les lignes en une seule fois, conduisant à l'erreur. La solution réside dans l'itération sur le fichier et le chargement de chaque ligne au format JSON dans une boucle :

tweets = []
with open('tweets.json', 'r') as file:
    for line in file:
        tweets.append(json.loads(line))

En parcourant le fichier et en chargeant chaque ligne en tant qu'objet JSON distinct, vous pouvez éviter les "Données supplémentaires" erreur. Cette méthode suppose que chaque ligne représente un objet JSON complet et que le fichier est correctement formaté.

Exemple

{ "id": 1, "name": "Alice" }
{ "id": 2, "name": "Bob" }
{ "id": 3, "name": "Charlie" }

Chaque objet JSON se trouve sur une ligne distincte dans cet exemple. En utilisant la boucle susmentionnée, vous pouvez charger les trois objets sans rencontrer l'erreur « Données supplémentaires ».

En suivant la solution fournie, vous pouvez éviter l'erreur « ValueError : Données supplémentaires » lors du chargement des données JSON, vous permettant pour traiter et extraire efficacement les informations dont vous avez besoin.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn