一、Ajax或者頁面請求獲取數據,不通過WebApi的時候,使用JsonResult作為返回Json數據格式的類型
二、代碼呈現
public class HomeController : Controller { /// <summary> /// 請求接口返回數據結構 /// </summary> /// <typeparam name="T"></typeparam> public class ReqResult<T> { /// <summary> /// 提示消息 /// </summary> public string message { get; set; } /// <summary> /// 狀態碼 /// </summary> public string code { get; set; } /// <summary> /// 請求結果 /// </summary> public T result { get; set; } /// <summary> /// 返回時間 /// </summary> public string date { get; set; } } // GET: Home public JsonResult Index() { var res = new ReqResult<object>(); string date = "[{\"districtFullName\":\"黃浦區\",\"address\":\"打浦路38弄1-6號\",\"residentialareaName\":\"海華花園\",\"similarWord\":\"打浦路38弄1-6號\",\"communityId\":\"c2e08f29-292c-11e5-ac2c-288023a0e898\",\"version\":\"2.0\"},{\"districtFullName\":\"閔行區\",\"address\":\"莘北路50弄\",\"residentialareaName\":\"森都公寓\",\"similarWord\":\"莘北路50弄\",\"communityId\":\"c2d7382d-292c-11e5-ac2c-288023a0e898\",\"version\":\"2.0\"},{\"districtFullName\":\"浦東新區\",\"address\":\"東南路48弄1-10號\",\"residentialareaName\":\"東八公寓東區\",\"similarWord\":\"東南路74號\",\"communityId\":\"c2d73b7b-292c-11e5-ac2c-288023a0e898\",\"version\":\"2.0\"},{\"districtFullName\":\"浦東新區\",\"address\":\"周東路368弄1-72號\",\"residentialareaName\":\"蓮花二村\",\"similarWord\":\"周東路368弄51號\",\"communityId\":\"c2d742dd-292c-11e5-ac2c-288023a0e898\",\"version\":\"2.0\"},{\"districtFullName\":\"浦東新區\",\"address\":\"周市路2045弄\",\"residentialareaName\":\"東南新村(周浦)\",\"similarWord\":\"東南新村5號\",\"communityId\":\"c2d74586-292c-11e5-ac2c-288023a0e898\",\"version\":\"2.0\"},{\"districtFullName\":\"徐匯區\",\"address\":\"華涇路999弄1-373號\",\"residentialareaName\":\"上海漓江山水花園\",\"similarWord\":\"漓江花園一期\",\"communityId\":\"c2d74a64-292c-11e5-ac2c-288023a0e898\",\"version\":\"2.0\"},{\"districtFullName\":\"浦東新區\",\"address\":\"東八灶115弄1-31號\",\"residentialareaName\":\"新育公寓\",\"similarWord\":\"新育公寓二期\",\"communityId\":\"c2d74c0e-292c-11e5-ac2c-288023a0e898\",\"version\":\"2.0\"},{\"districtFullName\":\"閔行區\",\"address\":\"廟涇路52弄1號\",\"residentialareaName\":\"水清三村\",\"similarWord\":\"水清三村4號\",\"communityId\":\"c2d74cde-292c-11e5-ac2c-288023a0e898\",\"version\":\"2.0\"},{\"districtFullName\":\"徐匯區\",\"address\":\"華濟路2弄1-75號\",\"residentialareaName\":\"沙家浜小區\",\"similarWord\":\"華濟路2弄37號\",\"communityId\":\"c2d74da8-292c-11e5-ac2c-288023a0e898\",\"version\":\"2.0\"},{\"districtFullName\":\"松江區\",\"address\":\"橫港路49弄\",\"residentialareaName\":\"祥和公寓(松江)\",\"similarWord\":\"橫港路49弄\",\"communityId\":\"c2d759c5-292c-11e5-ac2c-288023a0e898\",\"version\":\"2.0\"}]"; res.code = "1"; res.message = "請求成功"; res.result = JsonConvert.DeserializeObject(date); return Json(res, JsonRequestBehavior.AllowGet); } }
三、解決方案
重點
List<Res> resList = JsonConvert.DeserializeObject<List<Res>>(result);
原由:你不能用了外部的ReqResult的model,里面的泛型T又用字符串,要么全是字符串,要么全是model。