Bonjour,
Je rencontre actuellement un problème concernant la désérialisation d'un fichier Json vers un dictionnaire.
Le langage est C# et j'utilise Json.NET.
Mon fichier Json :
{
"continue": {
"Text": {
"Position": "899, 468",
"Color": {
"B": 105,
"G": 105,
"R": 105,
"A": 255
},
"Text": "CONTINUER",
"FontSize": 24
},
"Pointer": {
"Position": "879, 468",
"Color": {
"B": 105,
"G": 105,
"R": 105,
"A": 255
},
"Text": "",
"FontSize": 24
},
"Position": "899, 468",
"Selected": false,
"MouseClick": false,
"Clicked": false,
"PointerActive": true,
"ColorClick": false
},
"new": {
"Text": {
"Position": "913, 540",
"Color": {
"B": 211,
"G": 211,
"R": 211,
"A": 255
},
"Text": "NOUVEAU",
"FontSize": 24
},
"Pointer": {
"Position": "893, 540",
"Color": {
"B": 211,
"G": 211,
"R": 211,
"A": 255
},
"Text": "",
"FontSize": 24
},
"Position": "913, 540",
"Selected": false,
"MouseClick": false,
"Clicked": false,
"PointerActive": true,
"ColorClick": false
},
"load": {
"Text": {
"Position": "913, 612",
"Color": {
"B": 105,
"G": 105,
"R": 105,
"A": 255
},
"Text": "CHARGER",
"FontSize": 24
},
"Pointer": {
"Position": "893, 612",
"Color": {
"B": 105,
"G": 105,
"R": 105,
"A": 255
},
"Text": "",
"FontSize": 24
},
"Position": "913, 612",
"Selected": false,
"MouseClick": false,
"Clicked": false,
"PointerActive": true,
"ColorClick": false
},
"options": {
"Text": {
"Position": "913, 684",
"Color": {
"B": 211,
"G": 211,
"R": 211,
"A": 255
},
"Text": "OPTIONS",
"FontSize": 24
},
"Pointer": {
"Position": "893, 684",
"Color": {
"B": 211,
"G": 211,
"R": 211,
"A": 255
},
"Text": "",
"FontSize": 24
},
"Position": "913, 684",
"Selected": false,
"MouseClick": false,
"Clicked": false,
"PointerActive": true,
"ColorClick": false
},
"exit": {
"Text": {
"Position": "913, 756",
"Color": {
"B": 211,
"G": 211,
"R": 211,
"A": 255
},
"Text": "QUITTER",
"FontSize": 24
},
"Pointer": {
"Position": "893, 756",
"Color": {
"B": 211,
"G": 211,
"R": 211,
"A": 255
},
"Text": "",
"FontSize": 24
},
"Position": "913, 756",
"Selected": false,
"MouseClick": false,
"Clicked": false,
"PointerActive": true,
"ColorClick": false
}
}
Le fichier en soit n'est pas particulièrement intéressant. J'ai vérifié à plusieurs reprises l'intégrité du fichier Json avec divers sites et il ne semble pas y avoir d'erreur.
Or, à la suite de l'exécution de mon code :
buttonsInfo = JsonConvert.DeserializeObject<Dictionary<string, ScreenButton>>(File.ReadAllText("mainmenu_UI_buttons.txt"));
(buttonsInfo est un dictionnaire)
J'obtiens cette erreur :
Newtonsoft.Json.JsonReaderException : 'Unexpected character encountered while parsing value: {. Path 'continue.Text', line 3, position 13.'
Apparemment, il y a une erreur, un caractère inapproprié dans le fichier Json. Or, avec la précédente vérification, on se rend compte qu'il n'y a rien...
En outre, je fais la même manipulation avec un autre fichier, qui est légèrement différemment, mais qui est sérialisé de la même façon, et tout fonctionne bien.
De plus, le fichier Json obtenu (et que j'essaye de désérialiser) est sérialisé juste avant avec Json.NET aussi, comme l'autre fichier dont la manipulation de désérialisation fonctionne à merveille.
Je ne comprends donc pas d'où vient cette erreur tandis qu'en apparence, il n'y en a pas.
Si vous souhaitez davantage d'informations ou de précisions, n'hésitez pas...
Merci d'avance pour une éventuelle réponse.