C# 字符串';输入字符串的格式不正确';JSON字符串异常

C# 字符串';输入字符串的格式不正确';JSON字符串异常,c#,json,exception,C#,Json,Exception,我试图将JSON负载转义为字符串。当前,我在尝试完成转换时收到“输入字符串格式不正确”异常错误 我原以为在转义字符串的开头和结尾使用双大括号可以解决这个问题,但事实并非如此 代码如下: var newGuidIDEmployeeSyncRequest = Guid.NewGuid().ToString(); string test = String.Format("{\"confirmMessageID\":{\"idValue\":\"{0}\"},\"createDateTime\":

我试图将JSON负载转义为字符串。当前,我在尝试完成转换时收到“输入字符串格式不正确”异常错误

我原以为在转义字符串的开头和结尾使用双大括号可以解决这个问题,但事实并非如此

代码如下:

 var newGuidIDEmployeeSyncRequest = Guid.NewGuid().ToString();

 string test = String.Format("{\"confirmMessageID\":{\"idValue\":\"{0}\"},\"createDateTime\":\"{1}\",\"requestReceiptDateTime\":\"{2}\",\"protocolCode\":{\"codeValue\":\"http\"},\"requestStatusCode\":{\"codeValue\":\"succeeded\"},\"requestMethodCode\":{\"codeValue\":\"POST\"},\"requestLink\":null,\"resourceMessages\":[{\"resourceMessageID\":{\"idValue\":\"G3R4RG61Y2T3P1QZ\"},\"resourceStatusCode\":{\"codeValue\":\"succeeded\"},\"processMessages\":[{\"userMessage\":{\"messageTxt\":\"Operation Successful for G3R4RG61Y2T3P1QZ\"}}]}]}", newGuidIDEmployeeSyncRequest, DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss"), DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss"));

有人能告诉我哪里出错了吗?

使用string.Format,需要将“{”和“}”字符转义为{和}

string.Format("{ a: {0} }", 2); // throws exception
string.Format("{{ a: {0} }}", 2); // returns the string "{ a: 2 }"

您应该使用类似于
json.net
JavaScriptSerializer
的序列化程序,这样就不必担心字符串格式。