djes a écrit :Tu as essayé d'ouvrir ton fichier json dans un éditeur hexa? Parfois on a des soucis avec les codages ASCII/Unicode/... Peut-être que le décodeur aussi.
Oui, je viens de tester divers encodages du fichier JSON
LoadJSON(#Json, Json_File$)
- ANSI : Objets OK mais objets imbriqués vides
- UTF-8 : Objets OK mais objets imbriqués vides
- UTF-8 + BOM : Pas lu
LoadJSON(#Json, Json_File$, #PB_JSON_NoCase)
- ANSI : Objets OK et objets imbriqués OK
- UTF-8 : Objets OK et objets imbriqués OK
- UTF-8 + BOM : Pas lu
Donc il est indifférent à l'ANSI ou UTF-8, par contre il refuse de lire le fichier s'il commence par un BOM
(exemple avec un UTF-8 + BOM en affichant le message d'erreur)
Debug "Erreur: " + JSONErrorMessage() + " (Ligne: " + JSONErrorLine() + " Position: " + JSONErrorPosition() + ")"
Erreur: Unexpected character (Ligne: 1 Position: 1) (c'est le BOM)
Ce qui était curieux c'est que les objets étaient bien lus, la structure imbriquée était créée, mais les objets imbriqués étaient vides.
Maintenant, il ne s'agit donc pas d'un bug, il faut juste le savoir, et il suffit d'insérer un
ReadStringFormat() avant LoadJSON pour tester le fichier avant lecture.