Javascript 如何在dojo中读取JSONObject,其中JSONObject是在JSP中创建的?
如何在dojo中读取JSONObject 我的jsp中有一个JSONObjectJavascript 如何在dojo中读取JSONObject,其中JSONObject是在JSP中创建的?,javascript,dojo,Javascript,Dojo,如何在dojo中读取JSONObject 我的jsp中有一个JSONObject JSONObject myJSONObj = new JSONObject(); 如何在dojo或*.js文件的“onload function”中读取此myJSONObj。可能需要尝试以下方法: window.load = function(){ var myjson = <%= getJSON() %> //using myjson } getJSON是一个函数,它以JSON格式的字符串形
JSONObject myJSONObj = new JSONObject();
如何在dojo或*.js文件的“onload function”中读取此myJSONObj。可能需要尝试以下方法:
window.load = function(){
var myjson = <%= getJSON() %>
//using myjson
}
getJSON是一个函数,它以JSON格式的字符串形式返回myJSONObj
更新:
举个简单的例子。希望能有帮助
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<%
class Foor{
public String getJSON(){
return "{foo:'bar'}";
}
}
Foor myfoo = new Foor();
%>
<script language=javascript>
var myjson = <%= myfoo.getJSON()%>
alert(myjson.foo);
</script>
</head>
<body>
</body>
</html>
尝试在函数中包装输出 要在DOM就绪时运行它,请尝试 如果您想通过AJAX onLoad加载它,请尝试 [编辑]
我刚刚意识到,我把它放在了JSON上,因为您需要将JSON字符串转换为JSON对象。下面是一个示例@jebberwocky:我尝试了这个方法,但它给了我非法的XML字符错误。由于myfoo.getJSON的输出将被视为脚本标记中的字符串,您应该像这样包装它:var myjson=dojo.fromJson;我认为这个例子会起作用…@subhaze,如果我在JSP中创建Foor类“myfoo”的实例,那么在dojo js文件中可以访问myfoo。我也试过这个。但是每当我说var myjson=dojo.fromJson;那么代码就不会被编译了。请给出您的建议。我以前没有使用过JSP,但使用过PHP,我就是这样做的。如果您的代码类似于上面混合服务器端代码和HTML的代码,那么我认为您是Foor类“myfoo”的实例,应该如上所述使用dojo.fromJson进行修改,以确保它是有效的JSON,因为{foo:'bar'}不是。这就是我能想到的全部对不起:/也许试着把它全部分开。一个严格意义上是输出JSON的JSP页面和一个对JSON执行AJAX请求的HTML文件……我主要关心的是如何在dojo中检索myJSONObj对象,因为我正在JSP中创建和设置。非常感谢您的任何建议。