解析 json 字段中的新行



我一直在使用 Json.NET 将内存中的对象序列化为 json。 当我调用以下代码行时:

        string json = JsonConvert.SerializeObject(template, Formatting.Indented);
        System.IO.File.WriteAllText(file, json);

我在文本文件中得到以下内容:

{
  "template": {
    "title": "_platform",
    "description": "Platform",
    "queries": [
      {
        "query": "// *******************************n// -- Remove  from DurationWindow at the end  n// *******************************tn"
      }
    ],
    "metadata": ""
  }
}

查询是我从数据库中提取的对象,具有字符串值。 当我使用 xml 并写入文件(使用 XDocument)时,字符串中的新行(以及 \t)被正确解析为文件中的制表符和新行。 json.Net 在这里是否有可能获得相同的效果?

换行符和制表符字符在 JSON 值中无效,JSON.net 实际上不会将 \t 和 呈现为制表符和换行符。 为了很好地显示它,您可以执行以下操作:

var withLineBreaks = json.Replace("\n", "n").Replace("\t", "t");

但是,如果这样做,则正在编写的文本将是无效的 JSON,如果要反序列化它,则必须在读回它时去除制表符和换行符。

相关内容

  • 没有找到相关文章

最新更新