国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

Json.net動態(tài)序列化以及對時間格式的處理

2019-11-17 02:57:17
字體:
供稿:網(wǎng)友

Json.net動態(tài)序列化以及對時間格式的處理

關(guān)于我工作中對Json處理的東西

第一:動態(tài)序列化類

第二:時間格式處理

通常我們一個類里 可能有十到更多的屬性,但是我們序列化通常只需要序列化其中的 三到五個這樣的話就會有多余的數(shù)據(jù)

如果 我只想序列化 id 跟name如何處理

這是我找的網(wǎng)上的方法:

using Newtonsoft.Json;using Newtonsoft.Json.Converters;using Newtonsoft.Json.Serialization;using System;using System.Collections.Generic;using System.Linq;namespace CYP.New.WCF.Common.Common{    public class LimitPRopsContractResolver : DefaultContractResolver    {        private string[] props = null;        public LimitPropsContractResolver(string[] props)        {            this.props = props;        }        protected override IList<JsonProperty> CreateProperties(Type type, MemberSerialization memberSerialization)        {            IList<JsonProperty> list = base.CreateProperties(type, memberSerialization);            //只保留清單有列出的屬性            return list.Where(p => props.Contains(p.PropertyName)).ToList();        }    }}

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

關(guān)于Json.net 處理日期格式 看第一張圖就知道 Json.net 處理日期格式 這尼瑪根本就不是正常人類能看的懂得

你可能會發(fā)現(xiàn)Json.net 里有關(guān)于處理日期的東西

但是這個時候你就會發(fā)現(xiàn) 再Json.net的重載里邊

     public static string SerializeObject(object value);        public static string SerializeObject(object value, Formatting formatting);        public static string SerializeObject(object value, JsonSerializerSettings settings);        public static string SerializeObject(object value, params JsonConverter[] converters);        public static string SerializeObject(object value, Formatting formatting, JsonSerializerSettings settings);        public static string SerializeObject(object value, Formatting formatting, params JsonConverter[] converters);

你會發(fā)現(xiàn) 動態(tài)序列化 跟 時間處理的格式不能共存 這個問題 著實(shí)讓我小小的蛋疼了一把.....

解決方案:

using Newtonsoft.Json;using Newtonsoft.Json.Converters;using Newtonsoft.Json.Serialization;using System;using System.Collections.Generic;using System.Linq;namespace CYP.New.WCF.Common.Common{    public class LimitPropsContractResolver : DefaultContractResolver    {        private string[] props = null;        public LimitPropsContractResolver(string[] props)        {            this.props = props;        }        protected override IList<JsonProperty> CreateProperties(Type type, MemberSerialization memberSerialization)        {            IList<JsonProperty> list = base.CreateProperties(type, memberSerialization);            IsoDateTimeConverter iso = new IsoDateTimeConverter() { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" };            IList<JsonProperty> listWithConver = new List<JsonProperty>();            foreach (var item in list)            {                if (props.Contains(item.PropertyName))                {                    if (item.PropertyType.ToString().Contains("System.DateTime"))                    {                        item.Converter = iso;                    }                    listWithConver.Add(item);                }            }            return listWithConver;        }    }}

一些關(guān)于Json.net的處理

本著對大家有幫助的態(tài)度

關(guān)于Josn.net的下載地址 http://www.codeplex.com/ -------------Make by 夜色、花清淺


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 威宁| 泽普县| 山阴县| 襄樊市| 崇义县| 来凤县| 安阳县| 长垣县| 富裕县| 盐山县| 张掖市| 德保县| 宁德市| 乡宁县| 普洱| 崇仁县| 鹿泉市| 仲巴县| 大悟县| 伊金霍洛旗| 沁水县| 漳平市| 昌吉市| 龙泉市| 张家界市| 社会| 南平市| 久治县| 高雄县| 壶关县| 泉州市| 乌鲁木齐县| 博爱县| 当雄县| 体育| 三原县| 贺兰县| 偃师市| 明光市| 玛多县| 曲阜市|