Ich schreibe eine Windows Phone Silverlight App. Ich möchte ein Objekt in einer JSON-Datei speichern. Ich habe den folgenden Code geschrieben.C# - Objekt in JSON-Datei speichern
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);
Dies ist genug, um eine JSON-Datei zu erstellen, aber es ist leer. Mache ich etwas falsch? Sollte das nicht das Objekt in die Datei schreiben?
Haben Sie [close] (https://msdn.microsoft.com/en-us/library/system.io.streamwriter.close (v = vs.110) .aspx) den 'StreamWriter'? Oder besser noch, wickle es in ein 'using (var str = neuer StreamWriter (isoStream)) {str.Write (jsonFile); } Aussage? Siehe [Wie verwende ich die StreamWriter-Klasse richtig?] (Https://stackoverflow.com/questions/11467240/how-to-use-streamwriter-class-properly). – dbc
Nein, ich habe es nicht geschlossen. – tony
Nun, das ist das Problem dann. Wenn Sie den 'StreamWriter 'nicht schließen, werden einige der von Ihnen geschriebenen Inhalte möglicherweise nicht auf den Datenträger geschrieben. – dbc