一、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。

 

三、MVC_JsonResult类型的更多相关文章

  1. Javascript权威指南——第二章词法结构,第三章类型、值和变量,第四章表达式和运算符,第五章语句

    第二章 词法结构 一.HTML并不区分大小写(尽管XHTML区分大小写),而javascript区分大小写:在HTML中,这些标签和属性名可以使用大写也可以使用小写,而在javascript中必须小写 ...

  2. 链路层三种类型的MAC地址

    若需要转载,请注明出处. 我们知道,链路层都是以MAC地址来进行通信双方的地址标识的,如下图:在应用中根据接收方的多寡来进行划分,可分为以下三种: 单播(Unicast) 多播(Multicast) ...

  3. 《JS权威指南学习总结--第三章类型、值和变量》

    第三章 类型.值和变量 内容要点 一.数据类型 1.在编程语言中,能够表示并操作的值的类型称做数据类型 2.JS的数据类型分为两类: 原始类型:数字.字符串和布尔值 对象类型 3.JS中有两个特殊的原 ...

  4. matlab for循环的三种类型

    学习了一半了,发现一个好网站,就是我想写这篇博客用的,网络真是个好东西!纪念下国庆啦 网址:http://www.yiibai.com/matlab/matlab_for_loop.html ---- ...

  5. mybatis入门系列三之类型转换器

    mybatis入门系列三之类型转换器 类型转换器介绍 mybatis作为一个ORM框架,要求java中的对象与数据库中的表记录应该对应 因此java类名-数据库表名,java类属性名-数据库表字段名, ...

  6. C# enum、int、string三种类型互相转换

    enum.int.string三种类型之间的互转 #代码: public enum Sex { Man=, Woman= } public static void enumConvert() { in ...

  7. { MySQL基础数据类型}一 介绍 二 数值类型 三 日期类型 四 字符串类型 五 枚举类型与集合类型

    MySQL基础数据类型 阅读目录 一 介绍 二 数值类型 三 日期类型 四 字符串类型 五 枚举类型与集合类型 一 介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己 ...

  8. 缓慢变化维 (Slowly Changing Dimension) 常见的三种类型及原型设计(转)

    开篇介绍 在从 OLTP 业务数据库向 DW 数据仓库抽取数据的过程中,特别是第一次导入之后的每一次增量抽取往往会遇到这样的问题:业务数据库中的一些数据发生了更改,到底要不要将这些变化也反映到数据仓库 ...

  9. ASP.NET 设计模式分为三种类型

    设计模式分为三种类型,共23类.  一.创建型模式:单例模式.抽象工厂模式.建造者模式.工厂模式.原型模式.      二.结构型模式:适配器模式.桥接模式.装饰模式.组合模式.外观模式.享元模式.代 ...

  10. 云计算服务的三种类型(SaaS、PaaS、IaaS)

    云计算可以帮助企业降低IT方面的成本和复杂性,并获得他们蓬勃发展所需的灵活性与敏捷性.但是,规划出通往云的明确路径并非易事.毕竟用户需要看透与云相关的市场大肆宣传,然后理解并分析不同种类的云计算模式的 ...

随机推荐

  1. OPTIONS请求后台处理 跨域Filter

    import cn.hutool.http.Method; import org.springframework.web.filter.OncePerRequestFilter; import jav ...

  2. 【HDOJ6621】K-th Closest Distance(主席树,二分)

    题意:给定一个长为n的序列,有m次强制在线的询问,每次询问位置[L,R]中abs(a[i]-p)第k小的值 n,m<=1e5,a[i]<=1e6,p<=1e6,k<=169 思 ...

  3. String reduction (poj 3401

    String reduction Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 1360   Accepted: 447 D ...

  4. pl/sql中return和exit区别

    经测试: 1.exit只能用于循环中,并且退出循环往下执行: 2.return可用于循环或非循环,并且退出整个程序模块不往下执行. declare i number :=1; j number :=1 ...

  5. DOM疑惑点整理(三)

    innerHTML和outerHTML 先说一个几乎众所周知的,innerHTML和outerHTML中的内容都会被解析为DOM子树,其二就是, <div id="txt" ...

  6. cordova+vue做的app解决引入cordova-plugin-splashscreen后启动先显示黑屏在显示启动页

    先上项目目录结构cordova项目结构 android platform 结构 图中用红框框起来的为主要修改文件 这篇主要的讲cordova项目引用了cordova-plugin-splashscre ...

  7. Java多线程常用写法,使用匿名内部类

    匿名内部类是基于抽象类和接口而言的. //匿名内部类(解决定义过多文件的问题,标准开发一个类就是一个文件) // new Runnable() { // @Override // public voi ...

  8. 百度地图api设置点的自定义图标不显示

    百度地图api设置点的设置代码为: var myIcon = new BMap.Icon(): 所以首先要找到这行代码,并在括号中加上图片信息: var myIcon = new BMap.Icon( ...

  9. Selenium WebDriver Log4j打印执行日志

    在自动化测试脚本的执行过程中,使用log4j在日志文件中打印执行日志,用于监控和后续调试脚本. Log4j.xml 文件 <log4j:configuration xmlns:log4j=&qu ...

  10. _exit和exit的区别

    在linux的标准库函数中,有一套称作高级I/O的函数,我们熟知的printf .fopen .fread .fwrite都在此列,他们也被称作缓冲I/O.其特征是对应每一个打开的文件,都存在一个缓冲 ...