using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Runtime.Serialization; using System.Runtime.Serialization.Json; using System.IO; using System.Globalization; using System.Xml; //System.Runtime.Serialization参照追加 namespace ConsoleApplication1 { class Program { static void Main(string[] args) { var model0 = new TicketModel() { From = "Tokyo", To = "Sinjuku", ID = 1, IsUse = true, IsExit = false, }; var json = JSonConvert.ToJSon(model0); var model1 = JSonConvert .ToModel(json); Console.WriteLine(json); Console.WriteLine(model0.GetDateTime().ToString()); Console.WriteLine(model1.GetDateTime().ToString()); Console.ReadLine(); } } public static class JSonConvert { public static T ToModel(string jsonString) { var serializer = new DataContractJsonSerializer(typeof(T)); var jsonBytes = Encoding.UTF8.GetBytes(jsonString); using (var ms = new MemoryStream(jsonBytes)) { return (T)serializer.ReadObject(ms); } } public static string ToJSon(T model) { var serializer = new DataContractJsonSerializer(typeof(T)); using (var ms = new MemoryStream()) { serializer.WriteObject(ms, model); return Encoding.UTF8.GetString(ms.ToArray()); } } } public static class DateConvert { private static readonly string UtcDateFormat = "s"; private static readonly string UtcDateFooter = "Z"; public static DateTime ToDate(string utc) { return DateTime.Parse(utc); } public static string ToString(DateTime date) { return string.Concat(DateTime.UtcNow.ToString(UtcDateFormat), UtcDateFooter); } } [DataContract] public class TicketModel { [DataMember] public int ID { get; set; } [DataMember] public string From { get; set; } [DataMember] public string To { get; set; } [DataMember] public string CreateDate { get; set; } [DataMember] public bool IsUse { get; set; } [DataMember] public bool IsExit { get; set; } public TicketModel() { this.CreateDate = DateConvert.ToString(DateTime.Now); } public DateTime GetDateTime() { return DateConvert.ToDate(this.CreateDate); } } }
インターネット上にある断片化された情報を切り取って、リブログする。 主にソフトウェア、Ubuntu関連、CPUなど気になったニュース、また、日々の面白い出来事やニュースもリブログします。
2015年3月7日土曜日
objectーjsonの相互変換 convert Json To object, object To Json
コピペして実装するだけOK。
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿