手机版

Jil 高效的json序列化和反序列化库

时间:2021-09-06 来源:互联网 编辑:宝哥软件园 浏览:

谷歌的potobuf不说了,它很牛b,但是对客户端对象不支持,比如Java脚本语言就读取不了。

Jil很牛,比牛顿英尺Json .要快很多,且支持客户端,此处只贴代码:

使用Jil使用系统。运行时。序列化;[可序列化]类Employee {//[jil指令(名称=' cid ')]public int Id { get;设置;} [IgnoreDataMember]公共字符串名称{获取设置;}[数据成员(名称='kkl')]公共字符串地址{ get设置;}公共雇员(){ } //必须要有一个午餐的构造函数公共员工(内部员工标识,字符串名称){这Id=EmployeeId这个。名称=名称;} }var jsonString=string .空的;使用(var输出=new StringWriter()){ JSON .连载(新员工(666,'张三'),输出);控制台WriteLine(输出);jsonString=输出. ToString();}使用(var输入=new StringReader(jsonString)){//var结果=JSON .反序列化动态(JSonString);//var结果=JSON .反序列化员工(JSonString);定义变量结果=JSON .反序列化员工(输入);控制台WriteLine('id:{0},名称:{1} ',结果身份证,结果。名称);}需要注意的是,反序列化的强类型对象必须要有无参的构造函数或者只有一个参数的构造函数。

这样的类型应该有一个声明的字段或属性,以及默认或单参数构造函数。对于时间处理,默认是ISO8601方式,可通过配置修改:

Options _jilOptions=新选项(日期格式:日期时间格式MillisecondsSinceUnixEpoch,includeInherited: true,serializationnamformat : serializationnamformat .骆驼案);定义变量输出=JSON .序列化(新{ UserName='jon ',TradingPassword='123456 ',ClientIp='192.168.3.1 ',Origin=1,time=DateTime .Now },_ JilOptions);控制台WriteLine(输出);控制台写入行('-');var pt=' 1459481266695//时间戳日期时间dtStart=时区CurrentTimeZone。ToLocalTime(新的DateTime(1970,1,1));//说明下,时间格式为13位后面补加四个'0',如果时间格式为10位则后面补加七个0' long lTime=long .解析(pt (pt .长度==13?'0000' : '0000000'));var dtResult=dtStart .添加(新的时间跨度(LTime));//得到转换后的时间控制台写入行(DTresult);控制台写入行('-');var _time=DateTime .现在。滴答;控制台。写线(日期时间现在。ToString());控制台WriteLine(“”当前时间转换后模式: - ');var dt=DateTime .from BInary(_ time);//635951023596206937【注意,此处与】控制台WriteLine(dt .ToLongDateString());//2016年四月一日控制台WriteLine(dt .ToLongTimeString());//10:12:39控制台WriteLine(dt .ToShortDateString());//2016/4/1控制台WriteLine(dt .to short time string());//10:12控制台WriteLine(dt .ToString(' yyyy-MM-DD hh :MM :s ');//2016-04-01 10:12:39输入如下:

关于客户端时间戳的射流研究…处理,可参阅此文:js时间戳和c#时间戳互转方法(推荐)

var日期=新日期(1459481266695);y=日期。get full year()“-”;m=(日期。getmonth)(1 10?0 '(日期。getmonth()1):日期。getmonth()1)'-';d=日期。GetDate()' ';h=日期。gethours()' : ';m=日期。getminutes()' : ';s=日期。getseconds();控制台日志;VM307:9 2016-04-1 11:27:46 js客户端获取时间戳:

var dt=新日期()。getTime();以上这篇吉尔,高效的json序列化和反序列化库就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

版权声明:Jil 高效的json序列化和反序列化库是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。