我的代码如下:
string requestBody = string.Format(
@"{{
""RequestServerVersion"":""2016.04.05"",
""PreferredDate"":""{0}"",
""StaffList"":""{1}""
}}",
preferredDate.Date.ToString("yyyy-MM-dd"),
"test");
StaffList是一个字符串数组,如果我传递像“test”这样的单个字符串,它将无效。如何在string.Format(...)中将字符串数组传递给它?因为在服务器端,StaffList被处理为字符串数组。
非常感谢!
答案 0 :(得分:2)
当有好的库可以确保它正常工作时,我会避免滚动你自己的JSON。
使用Newtonsoft.Json
:
string[] staffList = new [] { "Alice", "Bob", "Charlie" };
DateTime preferredDate = DateTime.Now;
var data = new
{
RequestServerVersion = "2016.04.05",
PreferredDate = preferredDate.Date.ToString("yyyy-MM-dd"),
StaffList = staffList,
};
string requestBody = Newtonsoft.Json.JsonConvert.SerializeObject(data);
输出:
{ "RequestServerVersion":"2016.04.05", "PreferredDate":"2016-04-05", "StaffList":["Alice","Bob","Charlie"] }
答案 1 :(得分:0)
我想到了两件事:
顺便说一句:您是否考虑过使用序列化而不是自己构建JSON?