Nancy 自定义JsonSerializer
2015-12-31 22:06
513 查看
1、创建自己的jsonserializer类
public class CustomJsonNetSerializer : JsonSerializer, ISerializer
{
public CustomJsonNetSerializer()
{
ContractResolver = new CamelCasePropertyNamesContractResolver();
DateFormatHandling = DateFormatHandling.IsoDateFormat;
Formatting = Formatting.None;
}
public bool CanSerialize(string contentType)
{
return contentType.Equals("application/json", StringComparison.OrdinalIgnoreCase);
}
public void Serialize<TModel>(string contentType, TModel model, Stream outputStream)
{
using (var streamWriter = new StreamWriter(outputStream))
using (var jsonWriter = new JsonTextWriter(streamWriter))
{
Serialize(jsonWriter, model);
}
}
public IEnumerable<string> Extensions { get { yield return "json"; } }
}
2、重写DefaultNancyBootstrapper类
public class Bootstrapper : DefaultNancyBootstrapper
{
protected override void ConfigureApplicationContainer(TinyIoCContainer container)
{
base.ConfigureApplicationContainer(container);
container.Register<ISerializer, CustomJsonNetSerializer>();
}
}
public class CustomJsonNetSerializer : JsonSerializer, ISerializer
{
public CustomJsonNetSerializer()
{
ContractResolver = new CamelCasePropertyNamesContractResolver();
DateFormatHandling = DateFormatHandling.IsoDateFormat;
Formatting = Formatting.None;
}
public bool CanSerialize(string contentType)
{
return contentType.Equals("application/json", StringComparison.OrdinalIgnoreCase);
}
public void Serialize<TModel>(string contentType, TModel model, Stream outputStream)
{
using (var streamWriter = new StreamWriter(outputStream))
using (var jsonWriter = new JsonTextWriter(streamWriter))
{
Serialize(jsonWriter, model);
}
}
public IEnumerable<string> Extensions { get { yield return "json"; } }
}
2、重写DefaultNancyBootstrapper类
public class Bootstrapper : DefaultNancyBootstrapper
{
protected override void ConfigureApplicationContainer(TinyIoCContainer container)
{
base.ConfigureApplicationContainer(container);
container.Register<ISerializer, CustomJsonNetSerializer>();
}
}
相关文章推荐
- json使用感悟
- js json与字符串转换
- 深入理解Javascript单线程
- JavaScript 中的 replace 方法
- [LeetCode][JavaScript]Symmetric Tree
- javascript常用的正则表达式
- javascript开发HTML5游戏--斗地主(单机模式part1)
- 使用Maven创建Web项目,无法识别内置JSP内置对象
- js获取当前页面的url网址信息
- Javascript验证手机号码正则表达式
- js日期比较
- [LeetCode][JavaScript]Balanced Binary Tree
- JSON详解
- js滚动页面加载内容
- ES与Javscript,JScript,ActionScript等脚本
- JSP基础详解
- js常用正则表达式
- JSP_EXTENDS
- js查询checkbox已选择的值
- js常用数组方法