2013-08-16 73 views
0

JSON回调函数只返回格式化日期。根据给定的日期,我必须建立一个树状结构,它将分开不同的年份,月份和日期。在回调中获得的每个日期都包含在树中。从json回调渲染树视图

我已经写类似下面的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); 

它gaves树视图,但每日期被写入到第一个节点(首次发现年)和第二个问题是,我不知道如何省略数据重复。我的意思是,如果某年在树中有一个位置,那么与同年的另一个日期应该是相同的节点级别,不会创建新的...

回答

0

它给出了树形视图,但每个日期被写入的第一个节点

使用JSON.stringify建立一个DOM,在这个问题:

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

如果某一年有树的地方,T韩另一个日期同年应该去同一个节点的水平,没有创造新的

使用循环插入每个日期作为对象的字面的关键,比如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)