2013-04-11 3 views
0

В моем успехе jquery fn, когда я делаю это console.log (данные);JQuery Parsing JSON говорит undefined

Я получаю,

[ 
    "{\"name\":\"android\"}" 
] 

Когда я попытался получить имя как этот data.name [0], я получаю не определено.

Я также пробовал данные [0] .name, все еще говорит undefined.

+0

данные ['name'] ?? –

+0

thats, потому что данные [0] - это строка, а не объект, это то, что говорит console.log. – x4rf41

+0

вы можете показать код, с помощью которого вы создаете код json, потому что я думаю, что ваша ошибка есть – x4rf41

ответ

0

Это дает значение:

var data = '[{\"name\":\"android\"}]'; 
    eval("data=" + data); 
    alert(data[0].name); 

ИЛИ

var data = '[{\"name\":\"android\"}]'; 
    data = JSON.parse(data) 
    alert(data[0].name); 

Вы можете разместить код, который вы пробовали?

0

Сначала преобразуйте значение массива, которое находится в строке в JSON, а затем проанализируйте.

var json = JSON.parse(data[0]); 
json.name; 
+0

это кажется правильным, но я думаю, вместо того, чтобы использовать это обходное решение, он должен исправить свой ответ ajax, чтобы он выводил правильный json – x4rf41

+0

@ x4rf41 да, вы правы –

+0

* «Сначала преобразовать значение массива в JSON» *: что это значит ? Зачем конвертировать что-то в JSON и обратно? То, что вы разместили «работает», но описание, похоже, не подходит. –