zoukankan      html  css  js  c++  java
  • 解析ActionResult子类JsonResult

    前言

           MVC我是11开始使用的,当时还是在上地软件园一小型互联网公司,当时是MVC2.0+Linq to sql。后来接着学习MVC3,MVC3的出现确实让我有种眼前一亮的感觉,期间我不断的写各种demo,一直到现在再看MVC时就有点生疏了,有一年多没用了,好多知识很细节都遗忘了。

    看到同事的代码

           前几天看到同事的代码, 其中看到了他对Json的用法,大致思路就是从数据库返回结果集,然后用自定义JsonHelper把结果集处理成Json字符串返回给客户端使用。也就是说把json字符串放入 return Json(strJson);

          

           看完就觉的不对劲,MVC Json是这样用? 那么大家都知道JsonResult内部其实是使用JavaScriptSerializer 来序列化结果集的, 也就是说你直接把结果集扔进去,返回给客户端就已经是Json对象了,不需要你再手动处理,实在是多此一举。

    正确使用

    public JsonResult GetAllStudents()
            {
                var students = new List<Student>
                {
                    new Student(){ID  =1,Name = "张三",Age =20, Birthday = DateTime.Now},
                    new Student(){ID  =2,Name = "李四",Age =20, Birthday = DateTime.Now}
                };
    
                var result = new JsonResult();
                result.Data = students;
                result.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
                return result;
    
            }


    JsonResult对日期类型的序列化

        想到这一步时以前也遇到过没去探究, 昨儿一个同事问我这个问题,以前的做法都是在js中直接处理,这样就是麻烦些,后续用到日期的地方都需要在js中处理, 那么现在的解决方法就是自己重写JsonResult, 然后使用Newtonsoft.Json来自己定义日期格式。

  • 相关阅读:
    龌龊的新版weiphone。
    【爆牙游记】黄山归来不看岳-走进新时代。
    我只有两天。
    聪明的苹果——iPhone 3GS。
    今天,遗憾。
    为了忘却的纪念——写给《博客园精华集Web标准之道》
    剪我一根头发,就要做我一天女人。
    产品重构。
    8月9日和妈妈的对话。
    钻石环。
  • 原文地址:https://www.cnblogs.com/sword-successful/p/4346537.html
Copyright © 2011-2022 走看看