HTTP Status 500 - Could not write content: Object is null 解決方法


錯誤描述:使用jqGrid獲取json數據並插入至表中,System.out.print可以正常輸出jsonObject對象數據,但返回至頁面時拋出異常

GET http://localhost:8080/*.do?500 (Internal Server Error)

type Exception report 
message Could not write content: Object is null (through reference chain: net.sf.json.JSONObject["rows"]->net.sf.json.JSONArray[5]->net.sf.json.JSONObject["cell"]->net.sf.json.JSONArray[4]->net.sf.json.JSONNull["empty"]);
nested exception is com.fasterxml.jackson.databind.JsonMappingException: Object is null (through reference chain: net.sf.json.JSONObject["rows"]->net.sf.json.JSONArray[5]->net.sf.json.JSONObject["cell"]
->net.sf.json.JSONArray[4]->net.sf.json.JSONNull["empty"]) description The server encountered an internal error that prevented it from fulfilling this request. exception org.springframework.http.converter.HttpMessageNotWritableException: Could not write content: Object is null (through reference chain: net.sf.json.JSONObject["rows"]->net.sf.json.JSONArray[5]->net.sf.json.JSONObject["cell"]
->net.sf.json.JSONArray[4]->net.sf.json.JSONNull["empty"]); nested exception is com.fasterxml.jackson.databind.JsonMappingException: Object is null (through reference chain: net.sf.json.JSONObject["rows"]
->net.sf.json.JSONArray[5]->net.sf.json.JSONObject["cell"]->net.sf.json.JSONArray[4]->net.sf.json.JSONNull["empty"]) org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.writeInternal(AbstractJackson2HttpMessageConverter.java:238) org.springframework.http.converter.AbstractHttpMessageConverter.write(AbstractHttpMessageConverter.java:208) org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:161) org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:101) org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:167) org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:71) org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:126) org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:776) org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:705) org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893) org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:857) javax.servlet.http.HttpServlet.service(HttpServlet.java:624) org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842) javax.servlet.http.HttpServlet.service(HttpServlet.java:731) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

 返回500錯誤有很多種可能性,上述錯誤問題其實很簡單,jsonObject對象內包含別的對象,且存在某object值為NULL。

如果你的返回值中不存在null,不會報錯,一旦有null字段,則無法插入到jqGrid中,並報上述錯誤。

解決方案:為了程序的健壯性,最好不要在json數據中直接存null,可以在轉json格式時加一個判斷,存在字段為null則將其賦值為“ ”(空字符串),然后傳輸時就不會出現上述錯誤了。

 

 

解決異常還是要仔細看錯誤提示,自己看提示調試有時候比直接百度來的更有效。

 

啦啦啦 ……

 

 

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

 

500其他可能性:

1.json序列化的問題{ 

                                   1.1沒有寫@responseBody

          1.2可以嘗試使用MappingJacksonView做解析

                               }

2.確認json序列化沒問題,通過其他方式你可以正常輸出的話,可以看一下是否因為數據量過大而造成異常,修改web.config配置文件

以上具體解決方法百度上都有詳解。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM