2017-07-03 116 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)