Mvc4 web-Api Json 序列化,日期Java解析失败的解决方法
2012-08-16 15:22
791 查看
在Mvc4 中的Web-Api中,序列化成成的Json字符串,在用FastJson解析的时候会失败掉,因为C#生成的默认是首字母是大写的,fastJson不自持对Key首字母大写的Json解析,还有一个问题就是DateTime使用ISO8601 format时,"yyyy-MM-ddThh:mm:ss.xxx"时没有问题,但变成"yyyy-MM-ddThh:mm:ss.xx"时会失败,
解决办法
如果这种方法都无法让你得到满足,那么你可以这么办,继承 DateTimeConverterBase,然后自己实现一个转换器,然后添加到转换列表,其他的类型,可以直接从JsonConverter,然后自己实现。
如过喜欢在Java端解决,http://code.alibabatech.com/wiki/pages/viewpage.action?pageId=2917070# 只不过是把这边的 SerializeConfig换成ParserConfig。自己实现转换。
以上方法使用任何一种都可以解决
解决办法
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); kernel = new StandardKernel(); RegisterServices(kernel); //ControllerBuilder.Current.SetControllerFactory(new NinjectControllerFactory()); GlobalConfiguration.Configuration.DependencyResolver = new NinjectResolver(kernel); BundleConfig.RegisterBundles(BundleTable.Bundles); Configure(GlobalConfiguration.Configuration); } protected static void Configure(HttpConfiguration config) { var json = GlobalConfiguration.Configuration.Formatters.JsonFormatter; json.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); json.SerializerSettings.Converters.Add(new JavaScriptDateTimeConverter()); }
CamelCasePropertyNamesContractResolver 使生成的Json表达式使用驼峰命名方式,首字母小写。http://www.asp.net/web-api/overview/formats-and-model-binding/json-and-xml-serialization
如果这种方法都无法让你得到满足,那么你可以这么办,继承 DateTimeConverterBase,然后自己实现一个转换器,然后添加到转换列表,其他的类型,可以直接从JsonConverter,然后自己实现。
如过喜欢在Java端解决,http://code.alibabatech.com/wiki/pages/viewpage.action?pageId=2917070# 只不过是把这边的 SerializeConfig换成ParserConfig。自己实现转换。
以上方法使用任何一种都可以解决
相关文章推荐
- android webview 调用本地java代码失败解决方法
- 解决Spring Boot和Feign中使用Java 8时间日期API(LocalDate等)的序列化问题
- Hadoop HDFS 文件访问权限问题导致Java Web 上传文件到Hadoop失败的原因分析及解决方法
- poi读取Excel时日期为数字 的解决方法 转载 2017年12月14日 10:31:14 标签:poi /excel /java 19 在使用poi解析Excel文件时,会发现,表格中的日期解析出
- C# WebApi Xml序列化问题解决方法:“ObjectContent`1”类型未能序列化内容类型“application/xml;charset=utf-8"的响应正文。...
- java web 开发中 eclipse 或myeclipse无法解析导入 javax.servlet 的解决方法
- EF webapi json序列化 表间相互引用 无限循环问题解决方案
- jdk1.8 日期新API LocalDateTime,LocalDate,LocalTime 在Hibernate中无法反序列化解决方法
- MVC web api 返回JSON的几种方式,Newtonsoft.Json序列化日期时间去T的几种方式。
- jdk1.8 日期新API LocalDateTime,LocalDate,LocalTime 在Hibernate中无法反序列化解决方法
- java解析json的方法
- Java下利用Jackson进行JSON解析和序列化
- Java创建和解析Json数据方法(一)——Json知识
- Json_decode 解析json字符串为NULL的解决方法(必看)
- 解决json日期格式问题的3种方法
- java8 LocalDate 类型 json 解析 日期格式处理
- Java 调用 .Net Web Service 问题解决方法分享
- 中文乱码-Javaweb-request读取时乱码解决方法
- Java构造和解析Json数据的两种方法详解二