【发布时间】:2011-01-29 13:36:00
【问题描述】:
我正在尝试从 servlet 检索 JSON 数据并以 html 显示。我能够使用 jQuery .ajax() 连接到 servlet,但无法检索 json 值。
下面是我的html示例
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script type="text/javascript" src="javascript/jquery-1.4.4.js"></script>
<script type="text/javascript">
$(document).ready(function(){
// click function
$('#btn').click(function(){
// get the request
/*
$.ajax({url:'JsonCreationOfUrlAndContent',
type:"GET",
dataType:"json",
asyn:true,
success:function(data)
{
$("div#main").text(data.Trends[1].title);}
});
*/
//now using getJSON
$.getJSON('JsonCreationOfUrlAndContent',function(data)
{
$("div#main").html(data.Trends[1].title);
});
});
});
</script>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<input id="btn" type="button" name="test" value="PressME"></input>
<div id="main">
</div>
</body>
</html>
下面是我的 java 代码,我在其中创建了一些如下结构的示例 JSON
{"Trends":[
{"url":"http://google.com",
"title":"No#1 Search Engine"},
{"url":"http://bing.com",
"title":"Best socal search engine"},
{"url":"http://altavista.com",
"title":"Oldest search engine"}]}
下面是我的java代码
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
PrintWriter pw =(PrintWriter)response.getWriter();
// create the JSONObject
JSONObject jobj1 = new JSONObject();
jobj1.put("url","http://google.com");
jobj1.put("title","No#1 Search Engine");
JSONObject jobj2 = new JSONObject();
jobj2.put("url","http://bing.com");
jobj2.put("title","Best socal search engine");
JSONObject jobj3 = new JSONObject();
jobj3.put("url","http://altavista.com");
jobj3.put("title","Oldest search engine");
JSONArray jarr = new JSONArray();
jarr.add(jobj1);
jarr.add(jobj2);
jarr.add(jobj3);
// now add JSONArrayO to JSONObject
JSONObject fObj = new JSONObject();
fObj.put("Trends",jarr);
pw.println(fObj);
}
【问题讨论】:
-
您收到服务器返回的 json 了吗? firebug 或类似的东西可以帮助你
-
你能比“无法检索”更具体吗?你收到错误了吗?
-
hmm..抱歉不知道如何检查..当我尝试发出任何警报时,它没有显示任何内容..
-
如果您通过 URL 调用您的 servlet,您会看到 json 吗?
-
我只是在最后一行保留了一些 SOP,使用以下 JSON 结构可以正常打印。