亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

[C#]JavaScriptSerializer幫助類

2019-11-14 16:16:35
字體:
來源:轉載
供稿:網友

關鍵代碼:

using System;using System.Collections.Generic;using System.Text.RegularExPRessions;using System.Web.Script.Serialization;namespace YanZhiwei.DotNet3._5.Utilities.Common{    /// <summary>    /// javaScriptSerializer 幫助類    /// </summary>    public static class ScriptSerializerHelper    {        #region 處理Json字符串的時間格式問題        /// <summary>        /// 處理JsonString的時間格式問題        /// <para>eg:ScriptSerializerHelper.ParseJsonTime(@"[{'getTime':'//Date(1419564257428)//'}]", "yyyyMMdd hh:mm:ss");==>[{'getTime':'20141226 11:24:17'}]</para>        /// <para>參考:http://www.cnphp6.com/archives/35773 </para>        /// </summary>        /// <param name="jsonString">Json字符串</param>        /// <param name="formart">時間格式化類型</param>        /// <returns>處理好的Json字符串</returns>        public static string ParseJsonTime(this string jsonString, string formart)        {            if (!string.IsNullOrEmpty(jsonString))            {                jsonString = Regex.Replace(jsonString, @"///Date/((/d+)/)///", match =>                {                    DateTime _dateTime = new DateTime(1970, 1, 1);                    _dateTime = _dateTime.AddMilliseconds(long.Parse(match.Groups[1].Value));                    _dateTime = _dateTime.ToLocalTime();                    return _dateTime.ToString(formart);                });            }            return jsonString;        }        /// <summary>        /// 處理JsonString的時間格式問題【時間格式:yyyy-MM-dd HH:mm:ss】        /// <para>參考:http://www.cnphp6.com/archives/35773 </para>        /// </summary>        /// <param name="jsonString">Json字符串</param>        /// <returns>處理好的Json字符串</returns>        public static string ParseJsonTime(this string jsonString)        {            return ParseJsonTime(jsonString, "yyyy-MM-dd HH:mm:ss");        }        #endregion        #region 利用JavascriptSerializer將對象序列化成JSON        /// <summary>        /// 利用JavaScriptSerializer將對象序列化成JSON字符串        /// <para>eg:ScriptSerializerHelper.Serialize<Person>(_personList);</para>        /// </summary>        /// <typeparam name="T">泛型</typeparam>        /// <param name="entityList">對象集合</param>        /// <returns>json</returns>        public static string Serialize<T>(this IEnumerable<T> entityList) where T : class        {            string _jsonString = string.Empty;            if (entityList != null)            {                JavaScriptSerializer _serializerHelper = new JavaScriptSerializer();                _serializerHelper.MaxJsonLength = int.MaxValue;                _jsonString = _serializerHelper.Serialize(entityList);            }            return _jsonString;        }        #endregion        #region 利用JavaScriptSerializer將json字符串反序列化        /// <summary>        ///利用JavaScriptSerializer將json字符串反序列化        /// <para>eg:List<Person> _result = (List<Person>)ScriptSerializerHelper.Deserialize<Person>(_jsonString);</para>        /// </summary>        /// <typeparam name="T">泛型</typeparam>        /// <param name="jsonString"></param>        /// <returns>IEnumerable</returns>        public static IEnumerable<T> Deserialize<T>(this string jsonString) where T : class        {            IEnumerable<T> _list = null;            if (!string.IsNullOrEmpty(jsonString))            {                JavaScriptSerializer _serializerHelper = new JavaScriptSerializer();                _list = _serializerHelper.Deserialize<IEnumerable<T>>(jsonString);            }            return _list;        }        #endregion    }}

代碼測試:

using Microsoft.VisualStudio.TestTools.UnitTesting;using System.Collections;using System.Collections.Generic;using System.Linq;using YanZhiwei.DotNet3._5.UtilitiesTests.Model;namespace YanZhiwei.DotNet3._5.Utilities.Common.Tests{    [TestClass()]    public class ScriptSerializerHelperTests    {        [TestMethod()]        public void SerializeTest()        {            Person _personA = new Person() { Name = "YanZhiweiA", Age = 10, Address = "shanghaiA" };            Person _personB = new Person() { Name = "YanZhiweiB", Age = 11, Address = "shanghaiB" };            IList<Person> _personList = new List<Person>();            _personList.Add(_personA);            _personList.Add(_personB);            string _actual = ScriptSerializerHelper.Serialize<Person>(_personList);            string _expect = "[{/"Name/":/"YanZhiweiA/",/"Age/":10,/"Address/":/"shanghaiA/"},{/"Name/":/"YanZhiweiB/",/"Age/":11,/"Address/":/"shanghaiB/"}]";            Assert.AreEqual<string>(_expect, _actual);        }        [TestMethod()]        public void DeserializeTest()        {            Person _personA = new Person() { Name = "YanZhiweiA", Age = 10, Address = "shanghaiA" };            Person _personB = new Person() { Name = "YanZhiweiB", Age = 11, Address = "shanghaiB" };            List<Person> _expected = new List<Person>();            _expected.Add(_personA);            _expected.Add(_personB);            string _jsonString = "[{'Name':'YanZhiweiA','Age':10,'Address':'shanghaiA'},{'Name':'YanZhiweiB','Age':11,'Address':'shanghaiB'}]";            List<Person> _result = (List<Person>)ScriptSerializerHelper.Deserialize<Person>(_jsonString);            bool _actual = _expected.SequenceEqual(_result, new PersonCompare());            Assert.IsTrue(_actual);        }        [TestMethod()]        public void ParseJsonTimeTest()        {            string _actual = ScriptSerializerHelper.ParseJsonTime(@"[{'getTime':'//Date(1419564257428)//'}]", "yyyyMMdd hh:mm:ss");            Assert.AreEqual("[{'getTime':'20141226 11:24:17'}]", _actual);        }    }    public class PersonCompare : IEqualityComparer<Person>    {        public bool Equals(Person x, Person y)        {            return (x.Age == y.Age) && (x.Address == y.Address) && (x.Name == y.Name);        }        public int GetHashCode(Person obj)        {            return obj.Name.GetHashCode();        }    }}
測試結果:
image
希望有所幫助!謝謝

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩av电影在线网| 国产婷婷97碰碰久久人人蜜臀| 久久99国产精品久久久久久久久| xvideos国产精品| 国产精品99久久99久久久二8| 亚洲乱码一区av黑人高潮| 亚洲国产精品小视频| 欧美麻豆久久久久久中文| 国产一区二区三区在线观看网站| 国产小视频91| 亚洲奶大毛多的老太婆| 国产精品免费观看在线| 欧洲亚洲免费在线| 欧美性猛交视频| 欧美午夜视频在线观看| 日韩精品久久久久久福利| 5566成人精品视频免费| 亚洲最新av在线| 国产成人高清激情视频在线观看| 92裸体在线视频网站| 亚洲精品久久久久久久久久久久| 久久97精品久久久久久久不卡| 日本欧美在线视频| 亚洲欧美成人网| 国产精品99久久久久久人| 久久久久中文字幕| 国产成人久久精品| 亚洲大胆人体在线| 欧美精品做受xxx性少妇| 国产欧美日韩91| 久久精品99久久久香蕉| 欧美xxxx18性欧美| 国产中文欧美精品| 精品久久国产精品| 欧美亚洲在线视频| 日韩国产高清视频在线| 久久久久亚洲精品| 久久深夜福利免费观看| 成人一区二区电影| 久久精品国产欧美亚洲人人爽| 欧美视频裸体精品| 亚洲国产精品久久| 日本乱人伦a精品| 国语自产精品视频在线看一大j8| 国产第一区电影| 91精品国产91久久久久久吃药| 欧美伦理91i| 亚洲综合色av| 久久久亚洲成人| 热草久综合在线| 亚洲自拍欧美另类| 亚洲偷熟乱区亚洲香蕉av| 成人免费福利视频| 91精品美女在线| 91精品国产亚洲| 91国产精品91| 一区二区欧美久久| 亚洲影院高清在线| 欧美激情视频一区二区| 日本a级片电影一区二区| 国产精品极品美女在线观看免费| 欧美精品videos| 久久露脸国产精品| 国产精品美腿一区在线看| 国产日韩欧美成人| 久久激情五月丁香伊人| 高清欧美性猛交xxxx| 色妞欧美日韩在线| 亚洲永久在线观看| 日本国产精品视频| 久久久久免费视频| 欧美色xxxx| 亚洲一区二区三区777| 欧美成人免费大片| 国产精品第七影院| 国外成人性视频| 色哟哟网站入口亚洲精品| 日本成人精品在线| 欧美电影第一页| 国产视频在线观看一区二区| 日韩美女视频免费在线观看| 成人女保姆的销魂服务| 国产亚洲精品久久久优势| 日韩欧美中文字幕在线观看| 亚洲图片在区色| 日韩视频在线一区| 亚洲成人精品久久| 亚洲电影第1页| 国产噜噜噜噜噜久久久久久久久| 欧美黑人巨大xxx极品| 欧美第一页在线| 亚洲人成毛片在线播放| 91丝袜美腿美女视频网站| 91久久精品日日躁夜夜躁国产| 国产不卡一区二区在线播放| 最近2019中文免费高清视频观看www99| 伊是香蕉大人久久| 亚洲综合成人婷婷小说| 精品丝袜一区二区三区| 国产精品99久久久久久久久| 亚洲色图欧美制服丝袜另类第一页| 欧美日韩美女在线观看| 色多多国产成人永久免费网站| 国产成人涩涩涩视频在线观看| 6080yy精品一区二区三区| 欧美日韩精品二区| 国产噜噜噜噜久久久久久久久| 精品精品国产国产自在线| 免费成人高清视频| 国产精品日韩欧美大师| 午夜精品一区二区三区视频免费看| 成人h视频在线| 欧美成年人在线观看| 国产精品丝袜一区二区三区| 国产精品jizz在线观看麻豆| 91av在线免费观看视频| 97视频在线观看网址| 亚洲一区中文字幕| 97在线视频观看| 欧美在线视频网| 日本中文字幕不卡免费| 欧美怡春院一区二区三区| 国产精品成av人在线视午夜片| 性欧美办公室18xxxxhd| 日韩欧美亚洲综合| 一区二区三区高清国产| 欧美视频免费在线| 亚洲第一免费网站| 国产精品爽爽爽爽爽爽在线观看| 久久综合伊人77777| 欧美风情在线观看| 亚洲国产一区自拍| 亚州av一区二区| 91视频8mav| 97在线视频免费观看| 成人欧美在线视频| 亚洲精品aⅴ中文字幕乱码| 久久精品亚洲国产| 日韩中文字幕在线视频播放| 国产97在线观看| 少妇高潮 亚洲精品| 日韩成人xxxx| 亚洲美女福利视频网站| 亚洲视频电影图片偷拍一区| 久久精品99久久久香蕉| 日韩美女视频中文字幕| 97香蕉久久夜色精品国产| 欧美日韩综合视频网址| 亚洲欧美在线磁力| 国产成人精品在线播放| 亚洲精品福利在线观看| 欧美乱大交xxxxx| 2021久久精品国产99国产精品| 亚洲国产精品嫩草影院久久| 高清在线视频日韩欧美| 国产剧情日韩欧美| 久久99久久久久久久噜噜| 91精品国产高清久久久久久久久| 久久成年人视频| 亚洲第一网站男人都懂| 51视频国产精品一区二区| 亚洲人高潮女人毛茸茸| 亚洲国产精品资源| 亚洲黄色有码视频|