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

首頁 > 編程 > C# > 正文

C#中JavaScriptSerializer幫助類用法實例

2020-01-24 02:13:09
字體:
來源:轉載
供稿:網友

本文實例講述了C#中JavaScriptSerializer幫助類用法。分享給大家供大家參考。具體如下:

關鍵代碼如下:

復制代碼 代碼如下:
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, @"http:///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();
        }
    }
}

測試結果如下圖所示:

希望本文所述對大家的C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产日韩欧美电影在线观看| 欧美成人亚洲成人日韩成人| 中文字幕亚洲二区| 欧美在线观看一区二区三区| 97人人爽人人喊人人模波多| 欧美成人在线网站| 欧美日韩精品中文字幕| www欧美xxxx| 国产亚洲欧美一区| 一区二区欧美日韩视频| 午夜精品久久久久久久99热浪潮| 欧美日韩国产精品一区二区不卡中文| 中文字幕亚洲欧美日韩高清| 亚洲一区二区三区乱码aⅴ| 青青草原成人在线视频| 17婷婷久久www| 性欧美xxxx交| 日产精品99久久久久久| 色哟哟入口国产精品| 亚洲欧洲视频在线| 91麻豆桃色免费看| 国产日韩欧美视频| 色妞一区二区三区| 91精品国产综合久久香蕉| 欧美日韩高清在线观看| 成人久久一区二区| 午夜精品久久17c| 亚洲春色另类小说| 国产精品久久久久久久久免费| 亚洲性生活视频在线观看| 欧洲成人午夜免费大片| 欧美大胆在线视频| 性夜试看影院91社区| 亚洲国产精品人久久电影| 日韩大片免费观看视频播放| 九九精品在线播放| 亚洲美女黄色片| 91精品国产777在线观看| 国产成人精品999| 亚洲欧美精品一区二区| 全球成人中文在线| 92看片淫黄大片看国产片| 91久久夜色精品国产网站| 国产精品一区二区三区免费视频| 色av中文字幕一区| 久久久久久久久久婷婷| 亚洲精品日韩久久久| 国语自产精品视频在线看一大j8| 久久免费视频网站| 伊人男人综合视频网| 日韩av最新在线观看| 国产精品mp4| 91精品国产自产在线| 欧美日韩美女视频| 日韩激情av在线播放| 一夜七次郎国产精品亚洲| 欧美最猛性xxxxx(亚洲精品)| 国产成人免费av| 久久影视电视剧凤归四时歌| 日韩中文在线视频| 国产精品三级在线| 亚洲欧美制服另类日韩| 午夜精品蜜臀一区二区三区免费| 日韩精品视频免费专区在线播放| 2019精品视频| 高潮白浆女日韩av免费看| 欧美性受xxx| 国产亚洲xxx| 日本成人在线视频网址| 欧美—级a级欧美特级ar全黄| 亚洲激情视频在线观看| 亚洲精品一区在线观看香蕉| 丰满岳妇乱一区二区三区| 午夜精品一区二区三区视频免费看| 国产欧美一区二区三区久久人妖| 成人激情春色网| 中文字幕av一区中文字幕天堂| 77777亚洲午夜久久多人| 亚洲香蕉伊综合在人在线视看| 动漫精品一区二区| 国产精品第三页| 欧美—级高清免费播放| 久久黄色av网站| 日韩天堂在线视频| 北条麻妃一区二区在线观看| 国内精品免费午夜毛片| 亚洲精品久久在线| 日韩高清电影好看的电视剧电影| 在线看欧美日韩| 91精品国产综合久久男男| 亚洲一区美女视频在线观看免费| 欧美激情乱人伦| 亚洲欧洲xxxx| 亚洲一区二区三区成人在线视频精品| 亚洲美女黄色片| 91精品久久久久久久久久久久久| 亚洲欧美日韩爽爽影院| 欧美国产激情18| 国内精品美女av在线播放| 亚洲欧美日韩中文在线制服| 久久91精品国产| 国产午夜精品理论片a级探花| 95av在线视频| 欧美猛少妇色xxxxx| 欧美在线性爱视频| 欧美激情一级欧美精品| 欧美二区乱c黑人| 亚洲成人999| 国产精品一久久香蕉国产线看观看| 伊人久久久久久久久久久久久| 日韩av在线导航| 97久久精品人搡人人玩| 国产欧美精品日韩精品| 91在线网站视频| 国产91精品高潮白浆喷水| 欧美老少配视频| 亚洲r级在线观看| 日韩电影在线观看永久视频免费网站| 欧美性猛交99久久久久99按摩| 91影院在线免费观看视频| 伊人久久综合97精品| 国产精品视频成人| 国产欧美va欧美va香蕉在线| 欧美成人免费一级人片100| 亚洲第一精品夜夜躁人人躁| 亚洲免费一级电影| 欧美极品美女视频网站在线观看免费| 国内外成人免费激情在线视频| 国产精品视频在线播放| 国产欧美一区二区三区视频| 超碰精品一区二区三区乱码| 亚洲欧美激情一区| 久久久免费精品| 欧美黑人极品猛少妇色xxxxx| 国产精品人成电影在线观看| 国产成人啪精品视频免费网| 91精品国产九九九久久久亚洲| 欧美午夜视频在线观看| 国产成人黄色av| 精品久久在线播放| 国产69精品99久久久久久宅男| 亚洲日本欧美日韩高观看| 精品激情国产视频| 久久躁日日躁aaaaxxxx| 狠狠色狠狠色综合日日小说| 精品视频9999| 欧美美女操人视频| 青草热久免费精品视频| 中文字幕日韩电影| 中文字幕不卡在线视频极品| 日韩在线免费av| 性欧美xxxx视频在线观看| 黑人巨大精品欧美一区免费视频| 人人澡人人澡人人看欧美| 成人激情视频在线观看| 久久精品国产99国产精品澳门| 热re99久久精品国产66热| 日韩欧美成人网| 中文日韩在线观看| 97视频在线观看免费| 国产成人精品在线观看| 欧美成人精品在线| 欧美成人国产va精品日本一级| 在线视频日本亚洲性|