27

可能重复:
在 String.Format 中转义大括号“{”

c# 有一个 String.Format 方法,允许您格式化字符串,但插入带有标记的参数{0} {1}

我正在尝试创建一个简单的 json 字符串,它需要在字符串中包含大括号,因此它破坏了格式化程序

String.Format("{ foo:'{0}', bar:'{1}' }", foo, bar);

在大括号之前添加转义没有帮助

抛出一个异常,说我的字符串格式不正确,有人知道如何解决这个问题吗?

4

2 回答 2

60

您可以通过在格式字符串中将大括号加倍来转义大括号:

string.Format("{{ foo: '{0}', bar: '{1}' }}", foo, bar);
于 2011-08-18T21:57:44.993 回答
14

您可以简单地使用{{}}转义花括号。

Console.WriteLine(String.Format("{0}, {1}, {{{2}}}", "Moe", "Larry", "Curly"));

产生:

萌,拉里,{Curly}

于 2011-08-18T21:59:29.007 回答