【发布时间】:2013-03-15 21:59:53
【问题描述】:
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操作不应该放在自己的线程中。
推荐的方法是什么?
【问题讨论】:
标签: c# windows-runtime json.net c#-5.0 winrt-async