我正在尝试使用AJAX和JavaScript从客户端发送json数据。我的客户端代码工作正常(我试图在客户端本身打印json数据并成功完成)。服务器端我必须使用jsp。我在Web-INF中也包含了必要的jar文件。 有人可以帮助调试此错误 在线处理JSP页面时发生异常: JSONObject json_obj =(JSONObject)parser.parse(test);
这是我的json数据: [{"姓名":" jayesh""姓":" talreja"}] 服务器端jsp代码:
<%@ page import="org.json.simple.JSONArray" %>
<%@ page import="org.json.simple.JSONObject" %>
<%@ page import="org.json.simple.parser.JSONParser" %>
<%@ page import="org.json.simple.parser.ParseException" %>
<%
String test = (String)request.getParameter("JSON_OBJ");
out.print(test);
System.out.println(test);
JSONParser parser = new JSONParser();
JSONObject json_obj = (JSONObject)parser.parse(test);
/*String input = (String)jsonObject;
/*Object obj = parser.parse(test);
JSONArray array = (JSONArray)obj;*/
String firstName = (String)json_obj.get("firstname");
String lastName = (String)json_obj.get("lastname");
System.out.println("FirstName:" + firstName + "LastName:" + lastName);
//System.out.println(input);
%>
答案 0 :(得分:0)
Fist:如果此[{"firstname":"jayesh","lastname":"talreja"}]
是您的JSON数据,则函数调用(String)json_obj.get("firstname")
和(String)json_obj.get("lastname")
将失败,因为对象包含在数组中。
第二:给定的JSON数据有效。 (检查here)。您确定JSON数据之前或之后没有其他字符吗?你能给我更多关于例外的细节吗?
第三:您是否尝试过其他JSON数据或其他解析器?
答案 1 :(得分:0)
异常的更多细节! org.apache.jasper.JasperException:在第10行处理JSP页面/test/jayesh_server.jsp时发生异常
7:
out.print(test);
8: System.out.println(test);
9: JSONParser parser = new JSONParser();
10: JSONObject json_obj = (JSONObject)parser.parse(test);
11: %>
12:
13:
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:575)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:477)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause
java.lang.NullPointerException
java.io.StringReader.<init>(StringReader.java:50)
org.json.simple.parser.JSONParser.parse(JSONParser.java:79)
org.json.simple.parser.JSONParser.parse(JSONParser.java:75)
org.apache.jsp.test.jayesh_005fserver_jsp._jspService(jayesh_005fserver_jsp.java:75)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)