关于我工作中对Json处理的东西

第一:动态序列化类

第二:时间格式处理

通常我们一个类里 可能有十到更多的属性,但是我们序列化通常只需要序列化其中的 三到五个这样的话就会有多余的数据

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

这是我找的网上的方法:

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();}}
}

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

关于Json.net 处理日期格式      看第一张图就知道  Json.net 处理日期格式 这尼玛根本就不是正常人类能看的懂得

你可能会发现Json.net 里有关于处理日期的东西

但是这个时候你就会发现   再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);

你会发现   动态序列化 跟  时间处理的格式不能共存    这个问题 着实让我小小的蛋疼了一把.....

解决方案:

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;}}
}

一些关于Json.net的处理

本着对大家有帮助的态度

关于Josn.net的下载地址 http://www.codeplex.com/

转载自:http://www.cnblogs.com/yesehuaqingqian/p/3934532.html

转载于:https://www.cnblogs.com/ShaYeBlog/p/4050285.html

转载自——Json.net动态序列化以及对时间格式的处理相关推荐

  1. Json.net 动态序列化属性

    环境说明 服务端有个接口,返回json格式的数据,要求输出数据的字段由客户端决定. 测试样例 using Newtonsoft.Json; using System;namespace Hiteart ...

  2. 使用Newtonsoft.Json.dll(JSON.NET)动态解析JSON、.net 的json的序列化与反序列化(一)...

    在开发中,我非常喜欢动态语言和匿名对象带来的方便,JSON.NET具有动态序列化和反序列化任意JSON内容的能力,不必将它映射到具体的强类型对象,它可以处理不确定的类型(集合.字典.动态对象和匿名对象 ...

  3. 使用Newtonsoft.Json.dll(JSON.NET)动态解析JSON、.net 的json的序列化与反序列化(一)

    在开发中,我非常喜欢动态语言和匿名对象带来的方便,JSON.NET具有动态序列化和反序列化任意JSON内容的能力,不必将它映射到具体的强类型对象,它可以处理不确定的类型(集合.字典.动态对象和匿名对象 ...

  4. Python-Day4 Python基础进阶之生成器/迭代器/装饰器/Json pickle 数据序列化

    一.生成器 通过列表生成式,我们可以直接创建一个列表.但是,受到内存限制,列表容量肯定是有限的.而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面 ...

  5. Java下利用Jackson进行JSON解析和序列化

    Java下利用Jackson进行JSON解析和序列化 转载于:https://www.cnblogs.com/jing1617/p/7009122.html

  6. .net core将URL请求格式化为XML或JSON(网站动态生成sitemap.xml)

    .net core将URL请求格式化为XML或JSON(网站动态生成sitemap.xml) 首先设置 Startup.cs 文件 配置 ConfigureServices services.AddM ...

  7. 使用JSON JavaScriptSerializer 进行序列化或反序列化时出错。字符串的长度超过了为 maxJsonLength属性...

    使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错.字符串的长度超过了为 maxJsonLength 属性设置的值. 解决办法是在web.config增加如下节点到& ...

  8. 在C#中使用Json.Net进行序列化和反序列化及定制化

    序列化(Serialize)是将对象转换成字节流,并将其用于存储或传输的过程,主要用途是保存对象的状态,以便在需要时重新创建该对象:反序列化(Deserialize)则是将上面的字节流转换为相应对象的 ...

  9. js遍历json数组给html td赋值,JS实现给json数组动态赋值的方法示例

    关注微信公众号 JS实现给json数组动态赋值的方法示例 转载  更新时间:2017年07月04日 10:19:00   作者:小魏的马仔 这篇文章主要介绍了JS实现给json数组动态赋值的方法,结合 ...

最新文章

  1. 印发 指南 通知_通知设计的综合指南
  2. docker安装elasticsearch6.5.4
  3. linux装入归档文件时出现了一个错误_Linux下解压tar.xz文件
  4. 为什么要简化代码书写
  5. struts2学习笔记(一) MVC模式
  6. HDU--1054--Strategic Game【最小点覆盖】
  7. arm架构安装rxtx_Ubuntu下安装和配置RXTX实现串口通讯
  8. 分享一个在沪深300下获得146.56%超额收益的策略
  9. ERROR in Entry module not found: Error: Can‘t resolve ‘./src/index.js‘ in‘xxx.js‘
  10. 2022-2028中国金属制品市场现状研究分析与发展前景预测报告
  11. 怎样利用闲鱼赚差价?教你在闲鱼卖货赚钱!
  12. 基于可见光通信的智慧路灯
  13. 三重积分平均值_有关研究生考试中高等数学 分级中 “数农”是什么意思?
  14. 802.11标准及无线网运行模式
  15. 机器学习 - 线性模型
  16. 微信跳转手机默认浏览器打开指定HTML链接 微信点击链接直接下载安装包实现方式及源码
  17. [转载]现在你可以定义自己的语言!
  18. 南邮 ctf web之综合题
  19. java 堆中的永久代_JVM中的堆的新生代、老年代、永久代详解
  20. linux环境下安装LibreOffice

热门文章

  1. Python 笔试面试合集
  2. Linux shell 学习笔记(15)— shell 正则表达式
  3. QT学习之图形视图框架
  4. 深度学总结:skip-gram pytorch实现
  5. java锁(公平锁和非公平锁、可重入锁(又名递归锁)、自旋锁、独占锁(写)/共享锁(读)/互斥锁、读写锁)
  6. GitHub无法显示图片问题解决
  7. 遗传算法的简单介绍以及模式定理的简单证明
  8. 用NumPy genfromtxt导入数据
  9. RGB Color Codes Chart
  10. ISP算法高水平分析(上)