从包含\"的文件中读取文本,但在代码中将其保留为\\\"

1 c# string escaping

我有一个文本文件,其中包含如下所示的数据:

{\"_clientId\":\"123\",\"_timestamp\":22548} {\"_clientId\":\"222\",\"_timestamp\":22590}

(他们已经有转义字符了)

当我使用string[] lines = System.IO.File.ReadAllLines(@"datafile.txt");例如读取文件时 ,它将字符串存储lines为:

"{\\\"_clientId\\\":\\\"123\\\",\\\"_timestamp\\\":22548}" "{\\\"_clientId\":\\\"222\\\",\\\"_timestamp\\\":22590}"

我的问题是:有没有办法将它们存储在字符串变量中而没有额外的转义字符(存储它们出现在文件中)?

Eri*_* J. 5

这些行应该与您string[]在文件中输入的内容完全一致地存储.

如果你看看你的线调试时,调试器将显示仅可视化的目的逃逸.这可能就是你所看到的.

编辑:

详细查看您的示例后,问题是您已经转义了数据文件中的引号.数据文件本身不包含有效的Json.

这应该可以解决问题:

string fixedLine = line.Replace("\\\"", "\"");
Run Code Online (Sandbox Code Playgroud)

然后反序列化fixedLine.