import json

def verifier_json_fichier(filepath):
    with open(filepath, 'r', encoding='utf-8') as f:
        contenu = f.read()

    # Tentative 1 : parser tout le fichier en une seule fois (si JSON complet)
    try:
        json.loads(contenu)
        print(f"✅ Le fichier '{filepath}' est un JSON valide.")
        return
    except json.JSONDecodeError as e:
        print(f"❌ Le fichier complet n'est pas un JSON valide : {e}")

    # Tentative 2 : parser ligne par ligne (au cas où JSON par ligne)
    lignes = contenu.splitlines()
    erreur_detectee = False
    for i, ligne in enumerate(lignes, start=1):
        ligne = ligne.strip()
        if not ligne:
            continue  # ignorer les lignes vides
        try:
            json.loads(ligne)
        except json.JSONDecodeError as e:
            print(f"❌ JSON invalide à la ligne {i} : {e}")
            erreur_detectee = True

    if not erreur_detectee:
        print("✅ Toutes les lignes sont des JSON valides.")

if __name__ == "__main__":
    chemin_fichier = "yt_cache_mapped.json"
    verifier_json_fichier(chemin_fichier)
