91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Jil、json序列化和反序列化庫的示例分析

發布時間:2021-08-19 09:39:10 來源:億速云 閱讀:143 作者:小新 欄目:web開發

這篇文章主要介紹了Jil、json序列化和反序列化庫的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

Jil很牛,比Newtonsoft.Json要快很多,且支持客戶端,此處只貼代碼:

using Jil;
using System.Runtime.Serialization;

[Serializable]
 class Employee
 {
  //[JilDirective(Name = "cid")]
  public int Id { get; set; }
  [IgnoreDataMember]
  public string Name { get; set; }
  [DataMember(Name = "kkl")]
  public string Address { get; set; }
 
  public Employee() { } //必須要有一個午餐的構造函數

  public Employee(int EmployeeId, string Name)
  {
  this.Id = EmployeeId;
  this.Name = Name;
  }
 }var jsonString = string.Empty;
  using (var output = new StringWriter())
  {
  JSON.Serialize(new Employee(666, "zhangsan"), output);
  Console.WriteLine(output);
  jsonString = output.ToString();
  }

  using (var input = new StringReader(jsonString))
  {
  //var result = JSON.DeserializeDynamic(jsonString);
  //var result = JSON.Deserialize<Employee>(jsonString);
  var result = JSON.Deserialize<Employee>(input);
  Console.WriteLine("id:{0},name:{1}", result.Id, result.Name);
  }

需要注意的是,反序列化的強類型對象必須要有無參的構造函數或者只有一個參數的構造函數。

Such a type should have one declared field or property, and default or single parameter constructor.

對于時間處理,默認是ISO8601方式,可通過配置修改:

Options _jilOptions = new Options(
  dateFormat: DateTimeFormat.MillisecondsSinceUnixEpoch,
  includeInherited: true,
  serializationNameFormat: SerializationNameFormat.CamelCase
  );

  var output = JSON.Serialize(new
  {
  UserName = "jon",
  TradingPassword = "123456",
  ClientIp = "192.168.3.1",
  Origin = 1,
  time = DateTime.Now
  }, _jilOptions);
  Console.WriteLine(output);

  Console.WriteLine("----------------");

  var pt = "1459481266695"; //時間戳
  DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
  //說明下,時間格式為13位后面補加4個"0",如果時間格式為10位則后面補加7個"0" 
  long lTime = long.Parse(pt + (pt.Length == 13 ? "0000" : "0000000"));
  var dtResult = dtStart.Add(new TimeSpan(lTime)); //得到轉換后的時間 
  Console.WriteLine(dtResult);

  Console.WriteLine("----------------");

  var _time = DateTime.Now.Ticks;
  Console.WriteLine(DateTime.Now.ToString());
  Console.WriteLine("當前時間轉換后模式:---------------->");
  var dt = DateTime.FromBinary(_time); //635951023596206937【注意,此處與】
  Console.WriteLine(dt.ToLongDateString()); //2016年4月1日
  Console.WriteLine(dt.ToLongTimeString()); //10:12:39
  Console.WriteLine(dt.ToShortDateString()); //2016/4/1
  Console.WriteLine(dt.ToShortTimeString()); //10:12
  Console.WriteLine(dt.ToString("yyyy-MM-dd HH:mm:ss")); //2016-04-01 10:12:39

輸入如下:

Jil、json序列化和反序列化庫的示例分析

關于客戶端時間戳的js處理,可參閱此文:js時間戳和c#時間戳互轉方法(推薦)

var date = new Date(1459481266695);
Y = date.getFullYear() + '-';
M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
D = date.getDate() + ' ';
h = date.getHours() + ':';
m = date.getMinutes() + ':';
s = date.getSeconds(); 
console.log(Y+M+D+h+m+s); 
VM307:9 2016-04-1 11:27:46

js客戶端獲取時間戳:

var dt= new Date().getTime();

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Jil、json序列化和反序列化庫的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

怀来县| 阳高县| 嵊泗县| 承德市| 富阳市| 吐鲁番市| 敦煌市| 鄢陵县| 辽宁省| 云林县| 华宁县| 宝坻区| 亳州市| 右玉县| 化州市| 赫章县| 新巴尔虎右旗| 临沂市| 延安市| 阿巴嘎旗| 谷城县| 东兴市| 达日县| 柞水县| 德阳市| 滕州市| 河源市| 汝阳县| 黄山市| 清徐县| 元阳县| 资中县| 平原县| 安泽县| 离岛区| 双流县| 繁峙县| 普格县| 扬州市| 祁连县| 绍兴县|