zoukankan      html  css  js  c++  java
  • JSON序列化和反序列化日期时间的处理

    可解決

    JSON格式不直接支持日期和时间。DateTime值值显示为“/Date(700000+0500)/”形式的JSON字符串,其中第一个数字(在提供的示例中为 700000)是 GMT 时区中自 1970 年 1 月 1 日午夜以来按正常时间(非夏令时)经过的毫秒数。该数字可以是负数,以表示之前的时间。示例中包括“+0500”的部分可选,它指示该时间属于Local类型,即它在反序列化时应转换为本地时区。如果没有该部分,则会将时间反序列化为Utc。

            [HttpPost]
            public ActionResult EditLoad(Person model)
            { 
                Person obj = personBLL.GetModel(model.FAIGUID);           
                var jsonResult = obj.ToJson();      return Content(jsonResult);      
            }
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Threading.Tasks;
    using Newtonsoft.Json;
    using Newtonsoft.Json.Converters;
    using Newtonsoft.Json.Linq;
    using System.Data;
    
    namespace DAL
    {
        public static class JsonTools
        {
            public static object ToJson(this string Json)
            {
                return Json == null ? null : JsonConvert.DeserializeObject(Json);
            }
            public static string ToJson(this object obj)
            {
                var timeConverter = new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" };
                return JsonConvert.SerializeObject(obj, timeConverter);
            }
            public static string ToJson(this object obj, string datetimeformats)
            {
                var timeConverter = new IsoDateTimeConverter { DateTimeFormat = datetimeformats };
                return JsonConvert.SerializeObject(obj, timeConverter);
            }
            public static T ToObject<T>(this string Json)
            {
                return Json == null ? default(T) : JsonConvert.DeserializeObject<T>(Json);
            }
            public static List<T> ToList<T>(this string Json)
            {
                return Json == null ? null : JsonConvert.DeserializeObject<List<T>>(Json);
            }
            public static DataTable ToTable(this string Json)
            {
                return Json == null ? null : JsonConvert.DeserializeObject<DataTable>(Json);
            }
            public static JObject ToJObject(this string Json)
            {
                return Json == null ? JObject.Parse("{}") : JObject.Parse(Json.Replace("&nbsp;", ""));
            }
        }
    }

    欢迎转载,转载请注明出处:http://www.cnblogs.com/Tonyyang/

  • 相关阅读:
    python读写操作excel数据
    python读写操作excel数据小应用
    操作系统相关知识
    网络编程课堂笔记
    UDP简单初识+socketserver 模块实现服务端并发
    链接循环+模拟远程执行命令+实现大文件上传
    循环通信
    luogu P2761 软件补丁问题
    luogu P4016 负载平衡问题
    P3381 【模板】最小费用最大流(spfa板子)
  • 原文地址:https://www.cnblogs.com/Tonyyang/p/15187787.html
Copyright © 2011-2022 走看看