【问题标题】:Is there a way to use a custom indentation character with the Json.Net JsonSerializer?有没有办法在 Json.Net JsonSerializer 中使用自定义缩进字符?
【发布时间】:2016-08-19 09:10:34
【问题描述】:

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

我可以按照here 的描述打开缩进。

我的代码如下所示:

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);
}

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

【问题讨论】:

    标签: c# json serialization json.net


    【解决方案1】:

    查看a custom 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);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-26
      • 1970-01-01
      • 2010-12-22
      • 2019-11-28
      • 1970-01-01
      • 2021-11-24
      • 1970-01-01
      • 2018-01-07
      相关资源
      最近更新 更多