2014-07-17 25 views
0

我想把這個JSON輸出翻出來。即由於某種原因它被提供爲列內行。我需要它作爲行內更傳統的列。把一個JSON對象翻出來

這是密切相關的,但不一樣的,這個問題: using Angular ng-repeat to display JSON rows/columns

但新的必要功能上列排序(使用角tablesort),所以我不能只是假的了從JSON輸出(根據其他問題)表;分類模塊扼流圈。

我必須實際修改傳入的數據,所以它在那裏用於排序算法。修改它的技巧是,並非所有的數據都在漂亮的數組中(注意日期只在原始數據中添加一次,但每次都在調整中)。

這是我開始用:

$scope.rawJSON = { 
    'date':'2013-04-16', 
    'uid':[1,2,3], 
    'foo':['a','b','c'], 
}; 

,這是我希望它結束​​了:

$scope.adjustedJSON = [ 
    {date:'2013-04-16', 'uid':1,'foo':'a'}, 
    {date:'2013-04-16', 'uid':2,'foo':'b'}, 
    {date:'2013-04-16', 'uid':3,'foo':'c'}, 
]; 

回答

1

這裏:

var len = $scope.rawJSON.uid.length; 

$scope.adjustedJSON = []; 

for(var i = 0 ; i < len ; i++) 
{ 
    $scope.adjustedJSON.push({ 
     date: $scope.rawJSON.date, 
     uid: $scope.rawJSON.uid[i], 
     foo: $scope.rawJSON.foo[i] 
    }); 
} 
+0

是啊,這主要是什麼我正在做,但我必須使其更一般化。在獲取數據之前,不知道密鑰的名稱,更棘手:不知道哪個對象是數組,哪個不是數組,所以我甚至不知道有多少行。這是我用來測試循環中的每個對象:Array.isArray($ scope.rawJSON.data [Object.keys($ scope.rawJSON.data)[i]]); 等一下......你已經啓發了我:如果我有一個uid,它必須是一個數組! – DaveC426913

相關問題