2017-04-25 5 views
0

ヘッダー付きでCSVをエクスポートしようとしていますが、条件が3 jsonです。 3つのjsonはすべて同じcsvファイルでダウンロードされます。今私はcsvファイルにヘッダを入れることでこれらのjsonを区別したいと思っています。我々は唯一の唯一のJSONオブジェクトを受け入れるNG-CSV属性を知っているよう複数のJSONとそれぞれのヘッダーを含む単一のCSVファイルを生成する

"data": { 
    "subData": [ 
     [ 
      { 
       "ABC": "North America", 
       "EFD": 937, 
       "EFDPercentage": 66.5483, 

      }, 
      { 
       "ABC": "Europe", 
       "EFD": 123, 
       "EFDPercentage": 8.7358, 

      } 
     ], 
     [ 
      { 
       "PQR": "Media and Entertainment", 
       "topPQR": 174, 
       "PQRPercentage": 12.358, 

      }, 
      { 
       "PQR": "Sep 2016", 
       "topPQR": 82, 
       "PQRPercentage": 5.8239, 

      }, 
      { 
       "PQR": "Conference", 
       "topPQR": 50, 
       "PQRPercentage": 3.5511, 

      } 
     ], 
     [ 
      { 
       "XYZ": "M&E", 
       "topXYZ": 279, 
       "XYZPercentage": 19.8153, 

      }, 
      { 
       "XYZ": "Technology", 
       "topXYZ": 197, 
       "XYZPercentage": 13.9915, 

      }, 
      { 
       "XYZ": "Online Retail", 
       "topXYZ": 163, 
       "XYZPercentage": 11.5767, 

      } 
     ] 
    ] 
} 

:私のようなJSONを持っています。私はこれを行うことにより、一つの大きなオブジェクトにCONCATENATE 3オブジェクトを持つように:

$scope.subDataArr = []; 
$scope.subData = response.data.subData; 
for(var i=0; i<self.subData.length; i++){ 
    for(var j=0; j<self.subData[i].length; j++){ 
     self.subDataArr.push(self.subData[i][j]); 
    } 
} 

だから、すべてのデータの上にJSONオブジェクト形式でsubDataArrに合流しています。このオブジェクトにアクセスすることで、すべてのデータをCSVファイルにダウンロードできますが、CSVファイルにヘッダーを渡してこれらのデータを区別したいと思います。私はcsvファイルの見出しを与えるためにcsv-headerを使用していることを知っています。しかし、ここでは3つの異なるヘッダーリストがあります。では、3つの異なるヘッダーをそれぞれのデータでどのように使用できますか? あなたのアイデアを教えてください。前もって感謝します。

答えて

0

私はこの問題を解決します。ヘッダー名を持つ新しいオブジェクトを作成し、ダウンロードされたメインjsonオブジェクトにプッシュします。

$scope.subDataArr = []; 
$scope.subData = response.data.subData; 
for(var i=0; i<self.subData.length; i++){ 
    if(i===0){ 
     self.Header1 = { 
       "ABC": "ABC", 
       "EFD": "EFD", 
       "EFDPercentage": "EFDPercentage" 

      }; 
     self.subDataArr.push(self.Header1); 
    } 
    if(i===1){ 
     self.Header2 = { 
       "PQR": "PQR", 
       "topPQR": "topPQR", 
       "PQRPercentage": "PQRPercentage" 

      }; 
     self.subDataArr.push(self.Header2); 
    } 
    if(i===2){ 
     self.Header3 = { 
       "XYZ": "XYZ", 
       "topXYZ": "topXYZ", 
       "XYZPercentage": "XYZPercentage" 

      }; 
     self.subDataArr.push(self.Header3); 
    } 
    for(var j=0; j<self.subData[i].length; j++){ 
     self.subDataArr.push(self.subData[i][j]); 
    } 
} 

だから、彼らのヘッダーを持つすべてのデータがメインJSONに来ていると私は

:-)出力を期待されます。このような
関連する問題