2013-08-16 3 views
0

JSON callback возвращает мне отформатированные даты и только его. Основываясь на данных датах, мне нужно построить древовидную структуру, которая будет разделять разные годы, месяцы и дни. Точные даты, которые получены в обратном вызове, включены в дерево.рендеринг дерева вид из json callback

Я написать что-то, как показано ниже на ServiceSucceedCallBack:

     var daty = ''; 
         var roczniki = ''; 
         var miesiace = ''; 
         var dni = ''; 
         for (var i in result.Content) { 
          roczniki += '<ol id="lata">' + result.Content[i].getFullYear() + '</ol>'; 
          miesiace += '<ol id="miesiace"><li>' + (result.Content[i].getMonth() + 1) + '</li></ol>'; 
          dni += '<ol id="dni"><li>' + result.Content[i].getDate() + '</li></ol>'; 
         } 
         var $st = $('#toolLeft'); 
         $st.append(roczniki); 
         $('#lata').append(miesiace); 
         $('#miesiace').append(dni); 

Это Гав древовидное, но каждый дата записывается в первый узел (первый нашел год) и вторая проблема в том, что я понятия не имею, как опустить дублирование данных. Я имею в виду, если какой-то год имеет место в дереве, то другая дата с тем же годом должна перейти на тот же уровень узла, но не создать новый.

ответ

0

Это дает вид на дерево, но каждый дата записывается в первый узел

Использование JSON.stringify построить DOM, так как в этом вопросе:

Javascript: Using reviver function, I seem can't get to alter all the keys, while concating the numbers

Если какой-то год имеет место в дереве, т не хань другой дата того же год должны перейти на тот же уровень узла, не создавать новый один

Используйте цикл, чтобы вставить каждую дату в качестве ключа литерала объекта, таких как Foo, а затем использовать JSON.parse для удаления дубликатов ключи. Вот пример:

var foo = {"2000-01-01":"good", "2001-09-11":"bad", "2000-11-02":"ugly", "2000-01-01":"jetson"} 
var bar = JSON.parse(JSON.stringify(foo)) 
var baz = JSON.stringify(bar) 
Смежные вопросы