Json.net ha le funzioni asincrone per la conversione di un oggetto JSON come:Json.net Async durante la scrittura su file
jsn = await JsonConvert.DeserializeObjectAsync<T>
Ma quando voglio writea oggetto in un file di JSON sembra meglio a me fare direttamente utilizzando un file Stream.
quindi penso che dovrebbe essere qualcosa di simile:
var fileStream = await file.OpenAsync(FileAccessMode.ReadWrite);
using (IOutputStream outputStream = fileStream.GetOutputStreamAt(0))
{
using (StreamWriter sw = new StreamWriter(fileStream.AsStreamForWrite()))
{
using (JsonWriter jw = new JsonTextWriter(sw))
{
jw.Formatting = Formatting.Indented;
JsonSerializer serializer = new JsonSerializer();
serializer.Serialize(jw, obj);
}
}
Ma d'oggetto JsonSerzializer non riesco a trovare metodi asincrone. Inoltre, penso che le operazioni di I/O non dovrebbero essere inserite in una propria discussione.
Qual è l'approccio consigliato?
Grazie per la segnalazione. Mi stavo già chiedendo come un stringoperation potrebbe essere asincrono senza thread .. Il Streaming potrebbe essere reso asincrono. Forse quello sarebbe un Feature per Json.net ma ovviamente non è ancora stato impiantato. Quindi grazie per la risposta. –
Questa sarebbe una semplice operazione da completare: creare un fork async di JSON.Net. Il problema, però, è che ci vorrà molto tempo - qualcuno ha circa 80 ore di anticipo? se non di più? – Todd