Json.netには、次のようにオブジェクトをjsonに変換するための非同期関数があります。
json = await JsonConvert.DeserializeObjectAsync<T>
しかし、オブジェクトをjsonファイルに書き込みたい場合は、ファイルStreamを使用して直接書き込む方がよいようです。
だから私はそれがこのようなものでなければならないと思います:
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);
}
}
しかし、JsonSerzializerオブジェクトでは、非同期メソッドが見つかりません。また、IO操作を独自のスレッドに配置するべきではないと思います。
推奨されるアプローチは何ですか?