C#String.Format将转义的引号替换为“

时间:2014-05-01 09:35:55

标签: c# string format escaping quotes

我正在尝试使用String.Format函数格式化String,但我的双引号会被HTML(")的HTML安全版替换。 毋庸置疑,这不是我期望的结果。

我目前的代码如下所示

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

我已经尝试用输出中的实际引号替换",但这也没有用。我可以使用一些巫术来解决这个问题吗?
提前致谢!

2 个答案:

答案 0 :(得分:0)

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

从您的格式字符串判断,您似乎正在尝试创建要返回的JSON字符串(可能来自服务)。 HTML很可能会将字符串编码到客户端上。问题出在那里,而不是你的字符串格式,因此尝试修复它将无法正常工作。

答案 1 :(得分:-1)

尝试使用HTML解码和编码 这样你就可以用实际的引号来转换它们。

HttpUtility.HtmlDecode

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

Stackoverflow源:" instead sign of quote (")