Как получить и проанализировать данные json из jsp?

#java #json #ajax #jsp #servlets

#java #json #ajax #jsp #сервлеты

Вопрос:

Я отправляю json из сервлета следующим образом

 User profileUser = userService.get(id);
request.setAttribute("profileUser", profileUser);
JSONObject json = new JSONObject();
try {
    json.put("profileUser", profileUser);
} catch (JSONException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
response.setContentType("application/json");
response.getWriter().write(json.toString());
  

И в javascript в вызове ajax

 $.ajax({
    cache : false,
    type : "GET",
    url : "UserServlet?id="   userId,
    success : function(result) {
        alert(result.profileUser);
    }
});
  

Результатом предупреждения является выдача мне Entity.user, но если я хочу вызвать result.profileUser.uuid или свойство этого пользователя, возвращает мне undefined . Кто-нибудь может мне помочь?

Комментарии:

1. Каков фактический HTTP-ответ?

2. @SLaks 302 временно перемещен

Ответ №1:

Если вы отправляете json своему Ajax-клиенту, вам нужно указать, что вы собираетесь получать тип json. Вот так:

 $.ajax({
    cache : false,
    type : "GET",
    dataType : "json",
    url : "UserServlet?id="   userId,
    success : function(result) {
        alert(result.profileUser);
    }
});
  

Это приведет к тому, что ваш метод успеха будет оценивать параметр результата как объект json.

Ответ №2:

Измените свой Ajax на следующий:

 $.ajax({
    cache : false,
    type : "GET",
    url : "UserServlet?id="   userId,
    success : function(profileUser) {
        alert(profileUser.uuid);
    }
});