解析 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.net 实际上不会将 ''t 和 ' 呈现为制表符和换行符。 为了很好地显示它,您可以执行以下操作:
var withLineBreaks = json.Replace("''n", "'n").Replace("''t", "'t");
但是,如果这样做,则正在编写的文本将是无效的 JSON,如果要反序列化它,则必须在读回它时去除制表符和换行符。