Чтение ответа JSON Ajax?

#javascript

#javascript

Вопрос:

У меня есть ответ ajax с моего сервера. Пример ниже:

 {"user_id":"93","status_message":"Cool Status","timestamp":"1305648702"}
  

Я попытался прочитать ответ с помощью:

 var json = eval(response);
var userid = json.user_id;
  

Однако, похоже, что вышеупомянутое не работает. Есть идеи.

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

1. Пожалуйста, предоставьте более подробную информацию . Почему это не работает? Что происходит? Что response ?

2. Ответ — идентификатор пользователя не определен.

3. Ответ с моего сервера {«user_id»: «93», «status_message»: «Статус в порядке», «временная метка»: «1305648702»}. Как только ответ получен, и оцененный идентификатор пользователя не определен.

4. Я бы рекомендовал использовать встроенный анализатор JSON, как указано в приведенном ниже ответе.

Ответ №1:

Вам следует использовать анализатор JSON, который в наши дни встроен во многие браузеры. Если он недоступен, вы можете использовать библиотеку JSON2, которая предоставляет тот же интерфейс, в качестве запасного варианта.

 var json = JSON.parse(response);
var userid = json.user_id;
  

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

1. И включить github.com/douglascrockford/JSON-js/blob/master/json2.js чтобы в других браузерах это всегда просто работало.

Ответ №2:

Попробуйте это без eval(response) и просто сделайте:

 var userid = response.user_id;
  

Ответ №3:

Я думаю, вы хотите сделать

 var json = JSON.parse(response);
var userid = json.user_id;