我只是想为我的单元测试构建一个json字符串,并且意外地以下代码返回系统格式异常。错误消息表明它正在尝试解析日期,这对我来说很奇怪。我不是要求解析日期。
class Program
{
static void Main(string[] args)
{
Console.WriteLine(GetJson());
Console.ReadKey();
}
static string GetJson(string dateStr = "", string lta = "5.25")
{
return String.Format("[{\"dateBooking\":\"{0}\",\"lta\":\"{1}\"}]", dateStr, lta);
}
}
可以轻松复制,但我添加了异常详情: “mscorlib.dll
中发生了'System.FormatException'类型的未处理异常其他信息:输入字符串的格式不正确。“
答案 0 :(得分:4)
您需要使用{
和{{
}
转义}}
,因为String.Format
会搜索{0:000}
之类的参数但而是找到{"dateBooking ... }
,它不是有效的参数格式。这就是FormatException引发的原因。
return String.Format("[{{\"dateBooking\":\"{0}\",\"lta\":\"{1}\"}}]", dateStr, lta);