我只是想从我的服务器返回一个 JSON 对象(使用 ajax)到客户端 - 这样我就可以在客户端读取数据
@GET
@Produces("application/json")
@Consumes("application/json")
@Path("/getStatus/")
public void getStatus(
@Context HttpServletRequest request,
@Context HttpServletResponse response) throws ServletException,
IOException
{
//create the JSON Object to pass to the client
JSONObject object=new JSONObject();
response.setContentType("text/javascript");
try
{
object.put("name", nameDataFromClass);
object.put("status",someData);
}
catch(Exception e)
{
throw new ServletException("JSON Hosed up");
}
String json = object.toString();
response.getOutputStream().println(json);
}
这将在 JSP 的客户端中,我想在页面上提取数据
<html>
<head>
<!-- Calls in jQuery file -->
<script src="jquery.js"></script>
<title>JQuery Test</title>
<script>
$.getJSON("http://localhost:8080/scout/rest/admin/mamba/getStatus",
function(json)
{
alert("Server naame: " + json.name);
});
</script>
</head>
<body>
</body>
</html>
最佳答案
Jackson 库应该负责将 json 对象编码到您的对象,反之亦然。只需创建一个简单的 POJO,如下所示:
public class Mystatus{
public String name;
public String status;
public Mystatus(){} // a default empty constructor is needed
public Mystatus(String name,String status){
this.name=name;
this.status=status;
}
}
然后从您的 RESTful 网络服务返回此对象:
@GET
@Produces("application/json")
@Consumes("application/json")
@Path("/getStatus/")
public Mystatus getStatus(
@Context HttpServletRequest request,
@Context HttpServletResponse response)
{
response.setContentType("text/javascript");
return new Mystatus("Hello","World");
}
关于java - 如何从我的休息服务发送一个 json 对象,以便我可以在客户端 javascript 中解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6377853/