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

本文关键字:代码 保留 包含 文件 读取 取文本 | 更新日期: 2023-09-27 17:56:41

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

{'"_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数据,并可以存储它或传递给方法。