震惊!JSONObject.fromObject(String)方法运行报错,不知道啥情况

发布于 2021-12-02 08:08:21 字数 4817 浏览 911 评论 10

颓了颓了,,,,,我将GSON数据POST给服务器,想在服务器端解析,使用

JSONObject json =  JSONObject.fromObject(String)编译不报错,运行报错

我以为是String数据结构问题,于是就用GSON先把数据转换成json格式,然后在解析,还是报错。。。

   List<Handle_HistoryDate> mlist = new ArrayList<Handle_HistoryDate>();
   mlist.add(new Handle_HistoryDate(11,200,"232",25,36));
   Gson gson = new Gson(); 
   String flag = gson.toJson(mlist); 
   System.out.println(flag);
        
  JSONObject json =  JSONObject.fromObject(flag); 

传递进入flag参数为:

报错信息为:

六月 27, 2017 9:38:39 上午 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet [servlet.Login] in context with path [/hwyServer] threw exception [Servlet execution threw an exception] with root cause
java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeException
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1305)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1139)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2503)
    at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:831)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1274)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1139)
    at servlet.Login.doPost(Login.java:131)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1502)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1458)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Unknown Source)

 

jar包为:

 

 


          

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(10

绝情姑娘 2021-12-05 11:02:58

引用来自“张恒强”的评论

不用震惊...你这就是缺失jar包. 至于编译时没错,那是因为你还没触发到异常.

运行的时候出错了,比如解析字符串有问题.  那就抛异常了,结果抛异常的时候找不到异常类. 所以就出现你现在的这个错误了.

最后指正: 这个类是commons-lang-2.xx版本的. 你用的是commons-lang-3.xxx版本

归属感 2021-12-05 10:57:13

引用来自“DeMoNHaDeS”的评论

加个commons-lang-2.X.jar试试

悟红尘 2021-12-05 10:56:15

引用来自“为为02”的评论

tomcat的classloader是动态加载class文件的,你的问题就是缺少jar包,所以发生了运行时错误。具体错误原因你给出的栈信息不足,很难判断。

时光清浅 2021-12-05 10:54:29

fastjson ···· 里面有现成的方法····

猫性小仙女 2021-12-05 10:11:22

引用来自“skhuhu”的评论

JsonArray  转下呢···你那报错信息真无心吐槽·····

北笙凉宸 2021-12-05 07:46:03

网上查了,归纳下,有几种可能

1、jar包不全

2、传递进入的数据格式有误

3、jar包和jdk版本不符合(我的版本为jdk1.8)

第三种我没试过,但是我感觉不太可能啊,前两个应该没问题,大家帮忙看看

屌丝范 2021-12-05 04:51:18

不用震惊...你这就是缺失jar包. 至于编译时没错,那是因为你还没触发到异常.

运行的时候出错了,比如解析字符串有问题.  那就抛异常了,结果抛异常的时候找不到异常类. 所以就出现你现在的这个错误了.

最后指正: 这个类是commons-lang-2.xx版本的. 你用的是commons-lang-3.xxx版本

秉烛思 2021-12-05 04:37:32

tomcat的classloader是动态加载class文件的,你的问题就是缺少jar包,所以发生了运行时错误。具体错误原因你给出的栈信息不足,很难判断。

凡尘雨 2021-12-05 04:26:47

String flag ="[{"measure":11,"speed":200,"date":"223","col":25,"humi":36}]";
        System.out.println(flag);
        //[{"measure":11,"speed":200,"date":"223","col":25,"humi":36}]
        JSONArray array = JSONArray.fromObject(flag);
        System.out.println(array);
        //[{"measure":11,"speed":200,"date":"223","col":25,"humi":36}]

兮颜 2021-12-04 23:14:37

JsonArray  转下呢···你那报错信息真无心吐槽·····

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文