格式化JSON字符串时出错

本文关键字:出错 字符串 JSON 格式化 | 更新日期: 2023-09-27 18:27:28

JSON数据为

"participant": {"id": "1"},

我尝试了以下代码。但我得到了一个例外

String.Format(("'n'"{0}'":{'"{1}'":'"{2}'"}","participant","id","1"));

例外

mscorlib.dll 中发生"System.FormatException"类型的未处理异常

附加信息:索引(从零开始)必须大于或等于零并且小于参数列表的大小。

格式化JSON字符串时出错

当字符串中有大括号时。格式调用,您需要使用双大括号来转义它们。

例如:

var str = string.Format("'"{0}'": {{ '"id'": '"{1}'" }}", "participant", 5);

字符串中。格式中,您可以使用从0(零)到您需要的任何数字顺序的占位符。这些放在单个大括号中,因此需要转义json大括号。

另一种选择是使用许多Json库中的一个为您进行序列化,例如Json.NET(http://james.newtonking.com/json)

例如。

var anon = new { participant = "bob", id = 5 };
var json = JsonConvert.SerializeObject(anon);