2017-07-03 134 views
-2

我有我的數據在JSON嵌套對象,但希望被格式化成簡單的JSON數組格式與任何JavaScript函數的幫助。我試圖通過for-loop做,但失敗了。Json格式化爲平面格式

var dataModel: [ { 
       "phaseName" : "Closure", 
       "milestone" : [ 
        { 
         "milestoneName" : "Mile-1", 
         "startDate" : ISODate("2017-08-06T18:30:00.000Z"), 
         "endDate" : ISODate("2017-07-06T18:30:00.000Z"), 
         "_id" : ObjectId("595a38e1ceb1973980406b7f") 
        }, 
        { 
         "milestoneName" : "Mile-2", 
         "startDate" : ISODate("2017-07-04T18:30:00.000Z"), 
         "endDate" : ISODate("2017-07-13T18:30:00.000Z"), 
         "_id" : ObjectId("595a4394c7a5bb3120126721") 
        } 
       ] 
      } 
] 

但我想我的結果應該通過應用轉換數據模型爲

newModel = [{ 
     "phaseName":"Closure", 
      "MilestoneName":"Mile-1", 
      "startDate":"07/07/2017", 
      "endDate":"07/15/2017" 
}, 
{ 
     "phaseName":"Closure", 
      "MilestoneName":"Mile-2", 
      "startDate":"07/07/2017", 
      "endDate":"07/15/2017" 
} 


] 
+0

你可以使用www.jsoneditoronline.org來改變你的json –

+0

這是一個非常模糊的問題。你應該在哪裏得到這個輸出?一個HTML表格?一個Windows應用程序? iOS應用程序?你使用什麼語言,你嘗試過什麼? 請參閱https://stackoverflow.com/help/how-to-ask –

+0

你真的需要什麼? –

回答

2

那麼,如果它只是調試任何功能被格式化,可以使用console.table

+0

很棒的建議! –

0
var newModel = []; 
for(var i = 0; i < dataModel.length; i++){ 
for(var e = 0; e < dataModel[i].milestone.length;e++){ 
    newModel.push({ 
    "phase": dataModel[i].phaseName, 
    "milestone":dataModel[i].milestone[e].milestoneName, 
    "startDate":dataModel[i].milestone[e].startDate, 
"endDate":dataModel[i].milestone[e].endDate, 
    }) 

console.log(newModel)