.NET日期类型序列化后返回前台格式转换问题

.NET日期类型序列化后返回前台格式:

调用下面方法后:


function Trans2Date(value) {
            var d = eval('new ' + (value.replace(/\//g, '')));
            return d.pattern("yyyy-MM-dd hh:mm:ss");
        }

        Date.prototype.pattern=function(fmt) {         
            var o = {         
            "M+" : this.getMonth()+1, //月份         
            "d+" : this.getDate(), //日         
            "h+" : this.getHours()%12 == 0 ? 12 : this.getHours()%12, //小时         
            "H+" : this.getHours(), //小时         
            "m+" : this.getMinutes(), //分         
            "s+" : this.getSeconds(), //秒         
            "q+" : Math.floor((this.getMonth()+3)/3), //季度         
            "S" : this.getMilliseconds() //毫秒         
            };         
            var week = {         
            "0" : "/u65e5",         
            "1" : "/u4e00",         
            "2" : "/u4e8c",         
            "3" : "/u4e09",         
            "4" : "/u56db",         
            "5" : "/u4e94",         
            "6" : "/u516d"        
            };         
            if(/(y+)/.test(fmt)){         
                fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));         
            }         
            if(/(E+)/.test(fmt)){         
                fmt=fmt.replace(RegExp.$1, ((RegExp.$1.length>1) ? (RegExp.$1.length>2 ? "/u661f/u671f" : "/u5468") : "")+week[this.getDay()+""]);         
            }         
            for(var k in o){         
                if(new RegExp("("+ k +")").test(fmt)){         
                    fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));         
                }         
            }         
            return fmt;         
        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
.NET 中,你可以使用 `Newtonsoft.Json` 库来进行 JSON 序列化和反序列化操作。以下是一个示例代码,演示了如何使用自定义格式进行序列化和反序列化: ```csharp using Newtonsoft.Json; using Newtonsoft.Json.Serialization; using System; using System.Collections.Generic; // 自定义数据类 public class Person { public string Name { get; set; } public int Age { get; set; } public List<string> Hobbies { get; set; } } // 自定义序列化器 public class CustomSerializer : DefaultContractResolver { protected override JsonContract CreateContract(Type objectType) { if (objectType == typeof(List<string>)) { return new JsonPrimitiveContract(typeof(string)); } return base.CreateContract(objectType); } } class Program { static void Main(string[] args) { // 自定义数据 var person = new Person { Name = "John", Age = 30, Hobbies = new List<string> { "reading", "painting", "coding" } }; // 自定义格式的 JSON 序列化 var settings = new JsonSerializerSettings { ContractResolver = new CustomSerializer(), Formatting = Formatting.Indented }; var json = JsonConvert.SerializeObject(person, settings); Console.WriteLine(json); // 输出:{"Name":"John","Age":30,"Hobbies":"reading|painting|coding"} // 反序列化 var deserializedPerson = JsonConvert.DeserializeObject<Person>(json); Console.WriteLine($"{deserializedPerson.Name}, {deserializedPerson.Age}"); // 输出:John, 30 } } ``` 在上面的示例中,我们定义了一个 `Person` 类来表示自定义数据。然后,我们创建了一个 `CustomSerializer` 类来继承自 `DefaultContractResolver`,并重写了 `CreateContract` 方法,以使列表类被当作字符串类进行序列化。 在 `Main` 方法中,我们创建了一个 `Person` 对象,并使用 `JsonConvert.SerializeObject` 方法将其序列化为 JSON 字符串。我们使用 `JsonSerializerSettings` 来指定自定义的序列化器和格式化选项。最后,我们使用 `JsonConvert.DeserializeObject` 方法将 JSON 字符串反序列化为 `Person` 对象。 请注意,你需要在项目中安装 `Newtonsoft.Json` NuGet 包才能使用 `Newtonsoft.Json` 库。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值