ajax访问后台,得到一个对象,我怎么以json格式返回到前台。

ajax访问后台,得到一个对象,我怎么以json格式返回到前台。

问题描述:

ajax访问servlet,查询得到一个message对象,我怎么把这个对象以json的格式返回给前台,并显示在给定的div中。

[code="java"]public class JsonServlet extends HttpServlet {

private org.codehaus.jackson.map.ObjectMapper objectMapper = new org.codehaus.jackson.map.ObjectMapper();

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
        throws ServletException, IOException {

    resp.setContentType("application/json");

    try {
        User user = new User();
        user.setId("1");
        user.setName("user");
        objectMapper.writeValue(resp.getOutputStream(), user);
    } catch (Exception e) {
        // TODO: handle exception
    }

}

private static class User {

    private String id;

    private String name;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

}

}[/code]
前台用jquery
[code="js"] $.post("", {}, function(user) {
alert(user.id, +" " + user.name);
}, "json");[/code]

jsonObject 将对象转换成json字符串 ,write出去;
ajax 的回调函数中用eval 将json对象转成js对象

先要对json格式进行了解,自己编程把得到的数据转换成json格式的string,例如:
{"name":"Kobe","age":36,"Job":"player"}
浏览器接收到这个string后,调用一下eval方法,就得到一个json对象了。

你可以把代码粘出来,大家好看看