json SerializeObject & StreamWriter创建的文件不完整

k2fxgqgv  于 2023-05-19  发布在  其他
关注(0)|答案(2)|浏览(154)

下面是我的代码:

string json = JsonConvert.SerializeObject(stocksArticles,Formatting.Indented);
StreamWriter sw = new StreamWriter("Export\\Stocks.json");
sw.Write(json);

它工作正常,但json文件不完整,它看起来像StreamWriter在结束前停止,这是文件的结尾:
{ "Reference": "999840", "Stocks": { "S": 0.0 } }, { "
我不明白为什么它的停止,我试图定义的StreamWriter的缓冲区大小,但没有效果。

sz81bmfz

sz81bmfz1#

这是未刷新/关闭流的常见标志(出于性能原因,流维护一些缓冲区是很常见的)。您可以执行以下操作:

StreamWriter sw = new StreamWriter("Export\\Stocks.json");
sw.Write(json);
sw.Close();

但更正确的方法是使用using,它将正确地处理资源:

using (StreamWriter sw = new StreamWriter("Export\\Stocks.json"))
{
    sw.Write(json);
}

阅读更多:

hc2pp10m

hc2pp10m2#

你不需要任何stremwriter。试试这个代码

File.WriteAllText(@"Export\Stocks.json",json);

相关问题