从包含 “ 的文件中读取文本,但在代码中将其保留为 ”
本文关键字:代码 保留 包含 文件 读取 取文本 | 更新日期: 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.NET
或Servicestack.Text.
Servicestack的序列化程序和解串器是地球上最快的。使用其中之一,您可以获取没有转义字符的JSON
数据,并可以存储它或传递给方法。