是否可以在Json.Net JsonSerializer中使用自定义缩进字符?

Jay*_*Are 2 c# serialization json json.net

我需要更改JsonSerializer缩进方式使用制表符而不是2个空格的方式...这可能吗?

我可以按此处所述打开缩进。

我的代码如下所示:

var jsonSerializer = new JsonSerializer
{
    Formatting = Newtonsoft.Json.Formatting.Indented
};

using (var fs = File.Create(fileName))
using (var sw = new StreamWriter(fs))
{
    jsonSerializer.Serialize(sw, data);
}
Run Code Online (Sandbox Code Playgroud)

注意:这是与问题不同的问题,描述了一种方法JsonTextWriter- JsonSerializer如果可能的话,我想这样做。

and*_*ian 5

出自定义的JsonWriter

using (var fs = File.Create("data.json"))
using (var sw = new StreamWriter(fs))
using (var jtw = new JsonTextWriter(sw) { 
  Formatting= Formatting.Indented, 
  Indentation=3, 
  IndentChar = '\t'}) {
  (new JsonSerializer()).Serialize(jtw, data);
}
Run Code Online (Sandbox Code Playgroud)