JSON数据是
"participant": {"id": "1"},
我尝试了下面的代码,但是我得到了一个异常
String.Format(("\n\"{0}\":{\"{1}\":\"{2}\"}","participant","id","1"));
异常(exception)是
mscorlib.dll 中出现类型为“System.FormatException”的未处理异常
附加信息:索引(从零开始)必须大于或等于零且小于参数列表的大小。
最佳答案
当您在 string.Format 调用中使用花括号时,您需要使用双花括号将它们转义。
例如:
var str = string.Format("\"{0}\": {{ \"id\": \"{1}\" }}", "participant", 5);
在 string.Format 中,您使用从 0(零)到任何您需要的数字顺序排列的占位符。它们放在单个大括号中,因此需要转义 json 大括号。
另一种选择是使用众多 Json 库之一为您进行序列化,例如 Json.NET ( http://james.newtonking.com/json )
例如。
var anon = new { participant = "bob", id = 5 };
var json = JsonConvert.SerializeObject(anon);
关于c# - 格式化 JSON 字符串时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26523824/