有時候,我們可以用Dictionary 代替DTO,這樣更加簡便。
如果value的值不統一,比如既有int又有string,那麼久可以設:Dictionary<string, object> dict = new Dictionary<string, object>()或者Dictionary<string, dynamic> dict = new Dictionary<string, dynamic>();
public string MakeToken()
{
MakeTokenData jsonData = new MakeTokenData()
{
MlKeywords = MD5(DateTime.Now.ToString("yyyyMMddHH") + token),
Action = "makeToken",
};
//"{\"ml_keywords\":\"10189d86333b5e31f84f3877a4e05f31\",\"action\":\"makeToken\"}"
string jsonStr = JsonConvert.SerializeObject(jsonData);
}
public class MakeTokenData
{
[JsonProperty("ml_keywords")]
public string MlKeywords { get; set; }
[JsonProperty("action")]
public string Action { get; set; }
}
等價於
public string MakeToken()
{
Dictionary<string, string> dic = new Dictionary<string, string>();
dic.Add("ml_keywords", MD5(DateTime.Now.ToString("yyyyMMddHH") + token));
dic.Add("action", "makeToken");
//"{\"ml_keywords\":\"10189d86333b5e31f84f3877a4e05f31\",\"action\":\"makeToken\"}"
string jsonStr2 = JsonConvert.SerializeObject(dic);
}