J'écris une application Windows Phone Silverlight. Je veux enregistrer un objet dans un fichier JSON. J'ai écrit le morceau de code suivant.C# - Enregistrer l'objet dans le fichier JSON
string jsonFile = JsonConvert.SerializeObject(usr);
IsolatedStorageFile isoStore = IsolatedStorageFile.GetUserStoreForApplication();
IsolatedStorageFileStream isoStream = new IsolatedStorageFileStream("users.json", FileMode.Create, isoStore);
StreamWriter str = new StreamWriter(isoStream);
str.Write(jsonFile);
Cela suffit pour créer un fichier JSON mais il est vide. Est-ce que je fais quelque chose de mal? N'était-ce pas supposé écrire l'objet dans le fichier?
Avez-vous [fermer] (https://msdn.microsoft.com/fr-fr/library/system.io.streamwriter.close (v = vs.110) .aspx) le 'StreamWriter'? Ou mieux encore envelopper dans un 'using (var str = nouveau StreamWriter (isoStream)) {str.Write (jsonFile); } 'déclaration? Voir [Comment utiliser correctement la classe StreamWriter?] (Https://stackoverflow.com/questions/11467240/how-to-use-streamwriter-class-properly). – dbc
Non, je ne l'ai pas fermé. – tony
Eh bien c'est le problème alors. Si vous ne fermez pas le 'StreamWriter' certains contenus que vous avez écrits peuvent ne pas être vidés sur le disque. – dbc