需求場景:有時候咱們抓到一段請求數據,JSON格式的字符串數據,須要放在接口裏重現問題,咱們就可能會用dynamic先接受數據,而後再轉換成特定數據發出請求。加密
方案一:直接使用特定對象T,來接受請求數據,不能夠嗎? 固然能夠,不過當JSON數據包含子對象時,我遇到了子數據對象丟失的問題。若是大家沒有遇到,能夠使用。spa
方案二:使用字符串接受JSON格式的字符串數據,而後反序列化成對象,不過這個你須要對字符串進行處理,加反斜槓,若是你不嫌麻煩,能夠使用。code
方案三:我我的推薦:使用dynamic類型先接受數據,而後再轉換成T對象,比較方便,實用,下面是關鍵代碼:對象
思路:使用dynamic.ToString()方法,獲得Json的字符串,而後使用反序列化方法,能夠避免方案一的數據丟失問題。好用!!!推薦!!!blog
/// <summary> /// 模擬請求 /// </summary> /// <param name="fromBody">接收響應結果爲加密以後的值</param> /// <returns>獲得解密以後返回的響應結果值</returns> [HttpPost] public HttpResponseMessage Test(dynamic fromBody)//dynamic JObject { string a = fromBody.ToString(); T t= Newtonsoft.Json.JsonConvert.DeserializeObject<T>(a); return result; }