从包含 \ ", but it keeps it as \" in Code 的文件中读取文本



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

{"_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}"

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

这些行应完全按照在文件中输入的方式存储在string[]中。

如果查看调试器中的行,调试器将显示转义,仅用于可视化目的。 这可能就是你所看到的。

编辑:

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

这应该可以解决问题:

string fixedLine = line.Replace("\"", """);

然后反序列化fixedLine .

您需要使用某些反序列化程序反序列化文件。有很多可用的,您可以使用JSON.NETServicestack.Text. Servicestack的序列化程序和解串器是地球上最快的。使用其中之一,您可以获取没有转义字符的JSON数据,并可以存储它或传递给方法。

相关内容

最新更新