【发布时间】:2021-10-20 18:37:33
【问题描述】:
是否可以独立于操作系统为序列化设置行尾格式(\r\n vs \n)?那么在 WIN 和 Linux 中命令的结果会是一样的吗?
我的意思是结果
System.Text.Json.JsonSerializer.Serialize(data, new JsonSerializerOptions {WriteIndented = true});
或
Newtonsoft.Json.JsonConvert.SerializeObject(data, Formatting.Indented);
将在两个系统中:
{\r\n
"a": "b"\r\n
..
}
非常感谢。 汤姆
【问题讨论】:
-
这真的让我想知道你正在使用什么样的疯狂解析器,甚至关心的另一端?!
-
我只有一个小工具,可以将一些数据序列化为 json。但有时我在 win 中运行该工具,有时在 ubuntu 中运行该工具;我需要比较结果。当行尾不同时,即使内容相同,结果也永远不会相同。
-
听起来你需要一个更好的差异工具!我投票给 BeyondCompare。如果这是一个不经常运行的事情,
Newtonsoft.Json.JsonConvert.SerializeObject(data, Formatting.Indented).Replace("\r\n","\n")的幼稚方法可能就足够了
标签: c# asp.net-core .net-core