Получить значение JSON из ответа - PullRequest
10 голосов
/ 11 апреля 2011
{"id":"2231f87c-a62c-4c2c-8f5d-b76d11942301"}

Если я сообщу данные ответа, я вижу выше, как я могу получить доступ к значению id?

Мой контроллер возвращается так:Успех ajax У меня есть это:

success: function(data) {
    var id = data.id.toString();
}

Он говорит, data.id это undefined.

Ответы [ 5 ]

23 голосов
/ 11 апреля 2011

Если ответ в json, а не в строке, то

alert(response.id);
or
alert(response['id']);

в противном случае

var response = JSON.parse('{"id":"2231f87c-a62c-4c2c-8f5d-b76d11942301"}');
response.id ; //# => 2231f87c-a62c-4c2c-8f5d-b76d11942301
4 голосов
/ 11 апреля 2011

Обычно вы можете получить к нему доступ по имени свойства:

var foo = {"id":"2231f87c-a62c-4c2c-8f5d-b76d11942301"};
alert(foo.id);

или, возможно, у вас есть строка JSON, которую нужно превратить в объект:

var foo = jQuery.parseJSON(data);
alert(foo.id);

http://api.jquery.com/jQuery.parseJSON/

2 голосов
/ 11 апреля 2011

Используйте безопасно превращая json-string-in-the-object

var jsonString = '{"id":"2231f87c-a62c-4c2c-8f5d-b76d11942301"}';

var jsonObject = (new Function("return " + jsonString))();

alert(jsonObject.id);
1 голос
/ 11 апреля 2011
var results = {"id":"2231f87c-a62c-4c2c-8f5d-b76d11942301"}
console.log(results.id)
=>2231f87c-a62c-4c2c-8f5d-b76d11942301

results теперь объект.

0 голосов
/ 11 апреля 2011

Если ответ в json, то это будет выглядеть так:

alert(response.id);

В противном случае

var str='{"id":"2231f87c-a62c-4c2c-8f5d-b76d11942301"}';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...