Переменная не могу понять в чем проблема. Как узнать тип?
Проблема такая. Есть скрипт, он строит дерево. Дерево задается в js коде так:
var elements = [{"id":0,"content":"Root","children":[{"id":1,"content":"Data 1","children":[{"id":2,"content":"Data 2","children":[{"id":3,"content":"Data 3","children":[{"id":4,"content":"Data 4","children":[]}]}]}]}]}]; Но, от руки его задавать не нужно, я такую стуктуру получаю от php файла, который ее формирует. Если взять скопировать сформированное дерево и вставить в переменную elements, то все чудесно, но если присвоить var elements = data , где data содержит [{"id":0,"content":"Root","children":[{"id":1,"content":"Data 1","children":[{"id":2,"content":"Data 2","children":[{"id":3,"content":"Data 3","children":[{"id":4,"content":"Data 4","children":[]}]}]}]}]}] то есть тоже самое, то ничего не работает. Провел эксперимент - перевел в строку то что задаю копированием простым и то что задаю присвоением и измерил длину. Так вот, длина того что задано копированием 15, длина присвоенного 205. Если вывести содержимое, то оно идентично до символа. Где искать проблему, подскажите? |
отладчиком в IE увидел тип который определяется для переменной в случае когда все работает.
![]() С переменной elements все чудесно работает с elements1 - нет. Нужно привести к типу elements. Как привести переменную к первому типу? |
Цитата:
|
Вы меня спасли! Спасибо!
|
на всякий случай:
var json = JSON.parse('{"foo" : 0, "bar" : 1}'); for(i in json) { if(json.hasOwnProperty(i)) { alert(i + ': ' +json[i]); } } ну и или так: var data = "{'foo' : 0, 'bar' : 1}", json = eval('('+data+')'); for(var i in json) { if(json.hasOwnProperty(i)) { alert(i + ': ' +json[i]); } } |
Часовой пояс GMT +3, время: 23:09. |