我试图通过HTTP请求(使用Java Tomcat发送)将大型JSONObject传递给Javascript。
但是当JSONObject大小增长时,将Object从Java变量传递给Javascript变量
我该怎么做: 在Java servlet中,我使用Java HttpServletRequest设置我想要传递的属性,并调用我想要的页面:
request.setAttribute("myJsonAttr", myJSONObject);`
this.getServletContext().getRequestDispatcher("/WEB-INF/result.jsp").forward(request, response);
然后我在目标JSP中检索JSON对象:
<%
JSONObject myJavaJSONObject = (JSONObject) request.getAttribute("myJsonAttr");
%>
<script>
var alignmentJson = <%=myJavaJSONObject%>;
</script>
通常它工作正常。但它不会因为超过10万个条目而停止运行JSONObject:它会阻塞var alignmentJson = <%=myJavaJSONObject%>;
我需要使用Javascript(AngularJS)
来获取此JSON对象有没有更好的方法将JSON对象从Java servlet传递给Javascript?
谢谢!
编辑:调用Java JSONObject后页面停止响应。
Java是否只在尝试调用后才尝试检索对象?我还尝试直接在Java中记录myJavaJSONObject.toJSONString()
(在将其传递给javascript之前)。并且,在这种情况下,记录myJavaJSONObject.toJSONString()
时发生崩溃
这是一个显示日志的例子:
<%
JSONObject myJavaJSONObject = (JSONObject) request.getAttribute("myJsonAttr");
%>
<script>
console.log("this log is displayed");
</script>
<script>
console.log("this log is not displayed");
var alignmentJson = <%=myJavaJSONObject%>;
</script>