调用net.sf.json.JSONArray和net.sf.json.JSONObject对象抛出异常

一直在努力-乘风 2015-06-27 08:17:15
net.sf.json.JSONArray和net.sf.json.JSONObject对象,每当启动服务程序调用这2个对象的方法时就会抛错,放大加粗的地方就是调用抛出异常的地方
后端调用:
private void submitData(AffMealsDetalied affMealsDetalied,String jsonStr,AffMeals affMeals){

List updateList = null;

List addList = null;

if(StringUtil.isNotBlank(jsonStr)){

Map map = JSonUtil.convertToMap(jsonStr);

if(map.containsKey("addRows")){

Object value = map.get("addRows");

addList = JSonUtil.paserJsonArray(affMealsDetalied.getClass(),value);

Iterator iterator = addList.iterator();

while (iterator.hasNext()) {

affMealsDetalied = (AffMealsDetalied) iterator.next();

affMealsDetalied.setMealsId(affMeals.getMealsId());
}
}
if(map.containsKey("updateRows")){
Object value = map.get("updateRows");
updateList = JSonUtil.paserJsonArray(affMealsDetalied.getClass(), value);
}

if(map.containsKey("deleteRows")){

Object value = map.get("deleteRows");

String ids = JSonUtil.convertArrayToString(value, null);

if(StringUtil.isNotBlank(ids)){

dao.batchDelete(affMealsDetalied, ids);

}

}

}

dao.batchSave(addList);

dao.batchUpdate(updateList);

}
页面抛出的错误信息:

程序发生异常 >>>返回上一页

异常信息:java.lang.NoSuchMethodError cannot be cast to java.lang.Exception

详细异常信息:

java.lang.ClassCastException: java.lang.NoSuchMethodError cannot be cast to java.lang.Exception
at com.chinasofti.ro.bizframework.core.mvc.ActionInvoker.invoke(Unknown Source)
at com.chinasofti.ro.bizframework.core.mvc.ActionFilter.doFilter(Unknown Source)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.chinasofti.ro.bizframework.core.web.filter.LocaleFilter.doFilterInternal(Unknown Source)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.icss.resourceone.sdk.SdkFilter.doFilter(SdkFilter.java:147)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.icss.synergy.common.user.sso.SSOClientEx.doFilter(SSOClientEx.java:130)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.icss.resourceone.sso.client.SSOClient.doFilter(SSOClient.java:90)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:662)

...全文
3982 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
不启动服务,做了一个测试用例是能够正常输出结果的,json-lib及其依赖包是没有版本问题的,我估计是引入那些jar包之间的问题,另外gson的处理方式与json-lib不同,怎么处理复杂的json串,特别是有数组的,例如: {addRows=[{"detaliId":"1b4f7c5-14e32f8e744-5d237cc5a9b2a20349ef659174390470","mealDate":"2015-06-09"},{"detaliId":"1b4f7c5-14e32f8e744-5d237cc5a9b2a20349ef659174390470","mealDate":"2015-06-09"}],updateRows=[],deleteRows=[]} 把{"detaliId":"1b4f7c5-14e32f8e744-5d237cc5a9b2a20349ef659174390470","mealDate":"2015-06-09"}放到model中,最后model放到List中
  • 打赏
  • 举报
回复
实在不行换别的,比如gson也可以。
  • 打赏
  • 举报
回复
先搞个简单的json试一下,如果行的话,就说明是你传的json有问题。如果简单的都报错,可以试一下换jar的版本。

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧