解析 json 字段中的新行

本文关键字:新行 字段 json 解析 | 更新日期: 2023-09-27 18:32:18

我一直在使用 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// *******************************'t'n"
      }
    ],
    "metadata": ""
  }
}

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

解析 json 字段中的新行

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

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

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