C#字符串.Format将转义引号替换为&;"

本文关键字:quot amp 替换 Format 字符串 转义 | 更新日期: 2023-09-27 18:01:00

我正试图使用String.format函数格式化字符串,但我的双引号一直被HTML安全版本("(所取代。不用说,这不是我所期望的结果。

我当前的代码看起来像这个

string String= String.Format("{0}: {{ name: '"{1}'"}}", node.Category, node.Name);
// Output ==> SomeCategory: { name: "SomeName" }

我尝试过用输出中的实际引号替换",但也没有成功。我可以用一些巫毒来解决这个问题吗
提前感谢!

C#字符串.Format将转义引号替换为&;"

这不是由String.Format()引起的,更可能是由您用来查看数据的任何东西引起的,或者是由您查看数据之前发生的事情引起的。

从您的格式字符串来看,您似乎正在尝试创建一个要返回的JSON字符串(可能来自服务(。在通往客户端的路上,很有可能会有一些东西对你的字符串进行HTML编码。问题就在那里,而不是在你的字符串格式中,因此试图在那里解决它是行不通的。

尝试使用HTML解码和编码这样你就可以把它们变成真正的引号。

HttpUtility.Html解码

来源:http://msdn.microsoft.com/en-us/library/aa332854%28v=vs.71%29.aspx

堆栈溢出源:"而不是引号("(