2015-08-11 2 views
0

Я получаю переменный из JSon файла, которыйКак преобразовать яваскрипт строки в объект

var node = data.nodes; 

alert(node); возвращает следующее

[{"name" : "30","group": 0} , {"name" : "40","group": 0} ] 

, который не является объектом

Если я присваиваю это значение непосредственно переменной, она считается объектом, как вы можете видеть ниже.

var node = [{"name" : "30","group": 0} , {"name" : "40","group": 0} ] 

Почему значение не является объектом в первую очередь? Что я могу сделать, чтобы преобразовать переменную в объект?

любая помощь была бы действительно оценена.

+0

Да это :) @Petrichor – sky

ответ

4

Вы можете использовать метод JSON.parse, чтобы превратить строку в объект:

var node = JSON.parse(data.nodes); 

Обратите внимание, что некоторые старые браузеры (например, IE 7) не поддерживают JSON объекта. Вы можете узнать больше об этом на странице документации, с которой я связан, если вам нужно поддерживать более старые версии.

+1

спасибо, работает отлично – sky

+0

Вы должны принять ответ. @небо –

3

Попробуйте это:

<script type="text/javascript"> 
var node = data.nodes //[{"name" : "30","group": 0} , {"name" : "40","group": 0} ] 
var data = JSON.parse(node); 
console.log(data); //{name: "30", group: 0}, {name: "40", group: 0} 
console.log(data[0]); //{name: "30", group: 0} 
</script>