2012-05-28 6 views
0

У меня есть следующий JS код:значения Чтение из объектов JSON в JavaScript

var response = loadXMLDoc(); 
var dataset = response.data; 
alert(response); 
alert (dataset); 

"предупреждение (ответ)" печатает это:

{"labels":["-inf - 10","10 - 20","20 - 30","30 - 40","40 - 50","50 - 60","60 - 70","70 - 80","80 - 90","90 - 100","100 - 110","110 - 120","120 - 130","130 - 140","140 - 150","150 - 160","160 - +inf"],"data":[3,8,7,3,7,6,6,7,5,4,10,7,4,4,7,2,0],"count":16} 

в то время как "предупреждение (набор данных)" дает «неопределен ». Я пытался использовать

 var dataset = response["data"]; 

, но это не сработало. Я хочу получить массив данных из объекта JSON. Как я могу это сделать. Thanks

+0

Вы должны разобрать JSON в объект JavaScript первый , См. [Как проанализировать json в javascript] (http://stackoverflow.com/questions/4935632/how-to-parse-json-in-javascript). Также обратите внимание, что в JSON нет ключевых 'данных' (только' label' и 'count'). –

+0

@Felix KlingThanks .. это сработало. ключ данных есть. – Sami

+0

К сожалению, правильно, извините :) –

ответ

0

Увидев, что вы получили предупреждение, чтобы показать ответ, это строка, еще не объект.

Вам нужно разобрать его с JSON.parse()

//load your response 
var response = loadXMLDoc(), 
    dataset; 

//parse response 
response = JSON.parse(response); 

//assign data to dataset 
dataset = response.data; 

//Hit F12 to see the console 
console.log(response); 
console.log(dataset); 

Here's a sample

+2

Ваш jsFiddle ID довольно оскорбителен для европейцев. –

+0

@ Jill-JênnVie lol, скажите это JSFiddle. Это не моя ошибка XD – Joseph

1

Использование var y = JSON.parse(response); alert(y["data"])

0

Попробуйте

var dataset = eval('(' + responce.data + ')'); 
+0

'responce.d', может быть, вы имели в виду' response.data'? –

Смежные вопросы