Lors de la tentative d'extraction de données d'un fichier JSON nommé "new.json" et de le stocker dans un nouveau JSON fichier, il est possible de rencontrer une erreur ValueError: Extra data lors de l'utilisation de json.load().
L'erreur suggère qu'il y a des données supplémentaires dans le fichier JSON au-delà de ce qui est attendu. Cela peut se produire lorsque les données JSON ne sont pas correctement formatées ou lorsqu'il y a des caractères de fin à la fin du fichier.
Pour résoudre ce problème, assurez-vous que les données JSON dans "new.json" est bien formé. Cela signifie qu'il doit être conforme aux règles de syntaxe JSON, telles que l'utilisation appropriée des guillemets et des accolades. De plus, s'il y a des caractères de fin après la dernière accolade fermante de l'objet JSON, ils doivent être supprimés.
Au lieu de charger l'intégralité du fichier JSON en une seule fois, une approche alternative consiste à parcourir le fichier ligne par ligne et à charger chaque ligne en tant qu'objet JSON distinct. Cela vous permet de capturer uniquement les lignes contenant des données JSON valides. Voici comment procéder :
tweets = [] with open('new.json', 'r') as file: for line in file: # skip lines that don't contain JSON objects if not line.strip(): continue # try to load the line as JSON try: tweet = json.loads(line) except ValueError: # ignore lines that cannot be loaded as JSON continue # process the valid tweet data tweets.append(tweet)
Cette approche ignorera toutes les lignes vides ou ne contenant pas d'objets JSON valides, réduisant ainsi le risque de rencontrer l'erreur de 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!