当前位置:编程学习 > JAVA >>

json转日期出错

2012-11-13_14:09:39:191 TestController.java 61 purchase RevokeController || revoke || Exception
net.sf.json.JSONException: Error while setting property=createTradeReqTime type class java.lang.String
at net.sf.json.JSONObject.toBean(JSONObject.java:463)
at net.sf.json.JSONObject.toBean(JSONObject.java:229)
at com.jd.payment.app.ccmis.controller.common.utils.JsonUtil.toBean2(JsonUtil.java:54)
at com.jd.payment.app.ccmis.controller.service.TestController.purchase(TestController.java:56)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.web.servlet.mvc.multiaction.MultiActionController.invokeNamedMethod(MultiActionController.java:471)
at org.springframework.web.servlet.mvc.multiaction.MultiActionController.handleRequestInternal(MultiActionController.java:408)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
Caused by: net.sf.ezmorph.MorphException: Unable to parse the date 2011-07-23 12:06:41
at net.sf.ezmorph.object.DateMorpher.morph(DateMorpher.java:211)
at net.sf.ezmorph.MorpherRegistry.morph(MorpherRegistry.java:167)
at net.sf.json.JSONObject.morphPropertyValue(JSONObject.java:1534)
at net.sf.json.JSONObject.toBean(JSONObject.java:361)
... 29 more --------------------编程问答-------------------- 求助~~~~~~~~~~~~~~~~~~~······ --------------------编程问答-------------------- 转换的方法如下:

    public static Object toBean2(String jsonStr,Class clazz) {
        JSONObject jsonPerson = JSONObject.fromObject(jsonStr);
        String[] dateFormats = new String[] {"yyyyMMdd","yyyy-MM-dd","yyyy-MM-dd HH:mm:ss"};       //处理Date类型字段
        JSONUtils.getMorpherRegistry().registerMorpher(new DateMorpher(dateFormats));
        Object obj = JSONObject.toBean(jsonPerson, clazz);
        return obj;
    } --------------------编程问答-------------------- 这个有解吗?为什么没有回复啊.....我也遇到同样问题了 --------------------编程问答-------------------- 同问,这个跟环境有关系吗?我自己测试不报错,在客户环境上却报错
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,