zoukankan      html  css  js  c++  java
  • JavaScriptSerializer 序列化json 时间格式

    以下是代码:
    实体
     public class jsonmm

        {  
           public string Name { get; set; }

           public int Age { get; set; }
           //[ScriptIgnore]
           public DateTime LastLoginTime { get; set; }

        }
    方法:
     public string ScriptSerialize<T>(T t)
           {

               JavaScriptSerializer js = new JavaScriptSerializer();

               return js.Serialize(t);

           }
    页面测试:
     Code.json pp = new Code.json();
            Code.jsonmm p = new Code.jsonmm();

            p.Name = "张三";

            p.Age = 28;
        
            p.LastLoginTime = DateTime.Now.ToUniversalTime();
     string jsonString = pp.ScriptSerialize<Code.jsonmm>(p);
            Response.Write(jsonString);

    时间已经转换为utc格式了,可还是得出这样的数据
    {"Name":"张三","Age":28,"LastLoginTime":"\/Date(1313572554031)\/"}
    怎么修改呢

    =====================================================================

    JavaScriptSerializer的行为是这样的,你可以在客户端再处理一下

    JavaScript code?
    1
    2
    3
    4
    var json = { "Name""张三""Age": 28, "LastLoginTime""\/Date(1313572554031)\/" };
    //把/删除,并转换为正确的javascript时间
    json.LastLoginTime = eval('new ' + (json.LastLoginTime.replace(/\//g, '')));
    alert(json.LastLoginTime);
     
    ============================================================================
     
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
            Model m = new Model { Id = 1, Dt = DateTime.Now };
            JavaScriptSerializer js = new JavaScriptSerializer();
            string str = js.Serialize(m);
            str = Regex.Replace(str, @"\\/Date\((\d+)\)\\/", match => 
            {
                DateTime dt = new DateTime(1970, 1, 1);
                dt = dt.AddMilliseconds(long.Parse(match.Groups[1].Value));
                dt = dt.ToLocalTime();
               return dt.ToString("yyyy-MM-dd HH:mm:ss");
            });
            Response.Write(str);
    //{"Id":1,"Dt":"2011-08-17 17:38:47"} 
  • 相关阅读:
    03.分支结构
    02.语言元素
    开博的第一天
    http://mirrors.163.com/centos/7.6.1810/os/x86_64/repodata/repomd.xml: [Errno 14]
    spring boot配置spring-data-jpa的时候报错CannotCreateTransactionException: Could not open JPA EntityManager for transaction; nested exception is java.lang.NoSuchMethodError
    开机自动运行exe
    hibernate.QueryException: Legacy-style query parameters (`?`) are no longer supported 问题
    elasticSearch7____BUG
    idea开发web项目${pageContext.request.contextPath}出现错误
    进阶
  • 原文地址:https://www.cnblogs.com/soundcode/p/3107806.html
Copyright © 2011-2022 走看看