Maison >développement back-end >Tutoriel Python >Pourquoi « json.loads » génère-t-il une « ValueError : Extra Data » lors de l'analyse d'un fichier JSON ?

Pourquoi « json.loads » génère-t-il une « ValueError : Extra Data » lors de l'analyse d'un fichier JSON ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-19 15:47:02843parcourir

Why Does `json.loads` Throw a `ValueError: Extra Data` When Parsing a JSON File?

Python json.loads affiche ValueError : données supplémentaires

Lorsque vous utilisez json.loads pour analyser un fichier JSON, vous pouvez rencontrer une ValueError : Erreur de données supplémentaires. Cela indique qu'il y a des données supplémentaires dans le fichier JSON au-delà de ce qui est attendu par le décodeur.

Pour résoudre ce problème, vous pouvez essayer les étapes suivantes :

Charger la ligne de données JSON par ligne

Au lieu de charger l'intégralité du fichier JSON en une seule fois, parcourez le fichier et chargez chaque ligne en tant que JSON :

with open('new.json') as infile:
    tweets = []
    for line in infile:
        tweets.append(json.loads(line))

Cette approche évite de stocker des objets Python intermédiaires et garantit que chaque ligne est analysée comme un objet JSON valide.

Exemple de données

Vous avez fourni un exemple d'extrait de données du fichier new.json. En examinant l'extrait, il semble que les données soient contenues sur une seule ligne. Par conséquent, vous pouvez charger directement les données dans un objet JSON en utilisant :

import json

with open('new.json') as infile:
    data = json.load(infile)

Assurez-vous que le fichier ne contient que des données JSON valides et aucun caractère supplémentaire susceptible de déclencher la ValueError : Données supplémentaires.

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