如果一个实体类里所有的时间即DateTime类型的字段,都处理成统一格式的话,可以使用如下方式:

IsoDateTimeConverter timeFormat = new IsoDateTimeConverter();
timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
JsonConvert.SerializeObject(stu, Newtonsoft.Json.Formatting.Indented, timeFormat);

如果需要返回的格式不一致,比如有的需要年月日,有的是年月日时分秒,则这样控制不了。可以通过定义属性来解决

  public class student
{
public string Name { get; set; }
public int Age { get; set; }
[JsonConverter(typeof(DateFormat))]
public DateTime BirthDay { get; set; }
[JsonConverter(typeof(DateTimeFormat))]
public DateTime CreateTime { get; set; }
}
public class DateFormat:IsoDateTimeConverter
{
public DateFormat()
{
base.DateTimeFormat = "yyyy-MM-dd";
}
}
public class DateTimeFormat:IsoDateTimeConverter
{
public DateTimeFormat()
{
base.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
} }

实例演示:

 student stu = new student()
{
Name = "张三",
Age = ,
BirthDay = new DateTime(, , ),
CreateTime = DateTime.Now
};
string result = JsonConvert.SerializeObject(stu);

result = {"Name":"张三","Age":30,"BirthDay":"1986-07-16","CreateTime":"2016-01-16 23:13:34"}

这样控制的粒度更细了

Json.Net 使用属性定义日期的序列化格式的更多相关文章

  1. Newtonsoft.Json 指定某个属性使用特定的时间格式

    Newtonsoft.Json 指定某个属性使用特定的时间格式 Intro Newtonsoft.Json 是 .NET 下最受欢迎 JSON 操作库,原为 JSON.Net 后改名为 Newtons ...

  2. 通过自己定义MVC的Controller的Json转换器解决日期序列化格式问题

    今日,在MVC框架下使用EasyUI的datagrid载入数据时,服务端返回的Json日期格式为 /Date(1433088000000+0800)/ .须要client进一步转换.并且也不符合Eas ...

  3. webapi返回json格式,并定义日期解析格式

    1.webapi返回json格式 var json = config.Formatters.JsonFormatter; json.SerializerSettings.PreserveReferen ...

  4. 调试接口,返回的json数据,我定义了一个类,用来序列化,其中有一个字段定义为string 然后序列化的时候报错

    调试接口,返回的json数据,我定义了一个类,用来序列化,其中有一个字段定义为string 然后序列化的时候报错 在需要解析的类型类上加上声明 eg:

  5. json过滤某些属性 之@jsonignore

    Jackson相关: 使用Jackson相关的注解时一定要注意自己定义的属性命名是否规范. 命名不规范时会失去效果.(例如Ename ,Eage 为不规范命名.“nameE”,“ageE”为规范命名) ...

  6. c# 通过json.net中的JsonConverter进行自定义序列化与反序列化

    https://www.cnblogs.com/yijiayi/p/10051284.html 相信大家在工作中会经常遇见对json进行序列化与反序列化吧,但通常的序列化与反序列化中的json结构与c ...

  7. Json.Net学习(1) 实现简单的序列化和反序列化

    Attributes 可以用来控制Json.Net如何序列化和反序列化.Net对象. >JsonObjectAttribute--标记在类上,用于控制该类如何被序列化为一个Json对象(JSON ...

  8. Json动态添加属性

    一维Json: var Json={}: Json.name="小明"; Json.age="12": Json.sex="男": 输出效果 ...

  9. 理解json和jsonp的定义和区别以及如何实际使用

    (一)什么是跨域请求? 首先要理解什么是跨域? 跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的. 其实我们通常所说的跨域是狭义的,是由浏览器同源策略限制的一类请求场景. 常见 ...

随机推荐

  1. Java中获取完整的url

    Java中获得完整的URl字符串 HttpServletRequest httpRequest=(HttpServletRequest)request; String strBackUrl = &qu ...

  2. eclipse中tomcat使用add and remove无法发布web项目

    继上次启动eclipse中的tomcat报classNotFound的问题后,这次又遇到新问题.就是右键点击tomcat使用add and remove发布web项目至tomcat后,启动tomcat ...

  3. PhpStorm+PhpStudy+xdebug 配置图解

    1.配置niginx.ini,新增 server节点,比如使用9200 端口 server { listen 9200;#本地调试,不用80端口 server_name localhost; #cha ...

  4. leetcode:Rectangle Area

    Find the total area covered by two rectilinear rectangles in a 2D plane. Each rectangle is defined b ...

  5. 《OD大数据实战》Storm环境搭建

    一.环境搭建 1. 下载 http://www.apache.org/dyn/closer.lua/storm/apache-storm-0.9.6/apache-storm-0.9.6.tar.gz ...

  6. ubuntu 安装 rabbitmq-server

    Rabbitmq 是用 erlang 语言写的,所以我们需要安装 Erlang,安装 erlang 又需要安装 python 与 simplejson,所以我们从python开始: 1.安装 pyth ...

  7. rsync常用命令及格式

    rsync在同步文件夹内容这个工作上应用非常广泛,但是rsync本身命令还是比较复杂,本文总结一下: rsync = remote sync的简称 ,它 被用于在linux/unix系统中执行备份操作 ...

  8. poj 1159 (DP LCS)

    滚动数组 + LCS // File Name: 1159.cpp // Author: Missa_Chen // Created Time: 2013年07月08日 星期一 10时07分13秒 # ...

  9. 快速掌握 Android Studio 中 Gradle 的使用方法 [转http://blog.csdn.net/feelang/article/details/41783317]

    Gradle是可以用于Android开发的新一代的 Build System, 也是 Android Studio默认的build工具. Gradle脚本是基于一种JVM语言 -- Groovy,再加 ...

  10. MVC项目中应用富文本编辑器UEditor中的几个坑

    UEditor:百度出品 官网连接:http://ueditor.baidu.com/website/ 错误现象:在官网上复制到本地后,上传图片功能不能用, 控制台提示:“请求后台配置项http错误, ...