2017-09-15 83 views
0

目前我有非常大的JSON数据,并且在使用JSON数据在Angular JS控制器中处理之前,我想修整版本。如何在Angular JS中删除大Json数组中的Json对象

在下面的JSON数据,我不想有commenthtmlComment元素,如何删除这些并有新的非常轻的版本JSON数据I处理数据

这里为了简单起见,我都取得了前简单的JSON数组,但实际上我有非常接近100mb的数据。

我已经thorugh许多问题仍然没有能够让

  1. Ref 1
  2. Ref 2
  3. Ref 3

下面是JSON数据

[ 
    { 
    "executions": [ 
     { 
     "id": 241049, 
     "orderId": 212250, 
     "executionStatus": "1", 
     "executedOn": "19/Jul/17 7:42 PM", 
     "executedBy": "ext1", 
     "executedByDisplay": "Person1", 
     "comment": "Comment1", 
     "htmlComment": "HTML1" 
     }, 
     { 
     "id": 241049, 
     "orderId": 212250, 
     "executionStatus": "1", 
     "executedOn": "19/Jul/17 7:42 PM", 
     "executedBy": "ext1", 
     "executedByDisplay": "Person1", 
     "comment": "Comment1", 
     "htmlComment": "HTML1" 
     }, 
     { 
     "id": 241049, 
     "orderId": 212250, 
     "executionStatus": "1", 
     "executedOn": "19/Jul/17 7:42 PM", 
     "executedBy": "ext1", 
     "executedByDisplay": "Person1", 
     "comment": "Comment1", 
     "htmlComment": "HTML1" 
     } 
    ], 
    "currentlySelectedExecutionId": "", 
    "recordsCount": 210, 
    "stepDefectCount": 0, 
    "totalDefectCount": 0 
    }, 
    { 
    "executions": [ 
     { 
     "id": 241049, 
     "orderId": 212250, 
     "executionStatus": "1", 
     "executedOn": "19/Jul/17 7:42 PM", 
     "executedBy": "ext1", 
     "executedByDisplay": "Person1", 
     "comment": "Comment1", 
     "htmlComment": "HTML1" 
     }, 
     { 
     "id": 241049, 
     "orderId": 212250, 
     "executionStatus": "1", 
     "executedOn": "19/Jul/17 7:42 PM", 
     "executedBy": "ext1", 
     "executedByDisplay": "Person1", 
     "comment": "Comment1", 
     "htmlComment": "HTML1" 
     }, 
     { 
     "id": 241049, 
     "orderId": 212250, 
     "executionStatus": "1", 
     "executedOn": "19/Jul/17 7:42 PM", 
     "executedBy": "ext1", 
     "executedByDisplay": "Person1", 
     "comment": "Comment1", 
     "htmlComment": "HTML1" 
     } 
    ], 
    "currentlySelectedExecutionId": "", 
    "recordsCount": 210, 
    "stepDefectCount": 0, 
    "totalDefectCount": 0 
    }, 
    { 
    "executions": [ 
     { 
     "id": 241049, 
     "orderId": 212250, 
     "executionStatus": "1", 
     "executedOn": "19/Jul/17 7:42 PM", 
     "executedBy": "ext1", 
     "executedByDisplay": "Person1", 
     "comment": "Comment1", 
     "htmlComment": "HTML1" 
     }, 
     { 
     "id": 241049, 
     "orderId": 212250, 
     "executionStatus": "1", 
     "executedOn": "19/Jul/17 7:42 PM", 
     "executedBy": "ext1", 
     "executedByDisplay": "Person1", 
     "comment": "Comment1", 
     "htmlComment": "HTML1" 
     }, 
     { 
     "id": 241049, 
     "orderId": 212250, 
     "executionStatus": "1", 
     "executedOn": "19/Jul/17 7:42 PM", 
     "executedBy": "ext1", 
     "executedByDisplay": "Person1", 
     "comment": "Comment1", 
     "htmlComment": "HTML1" 
     } 
    ], 
    "currentlySelectedExecutionId": "", 
    "recordsCount": 210, 
    "stepDefectCount": 0, 
    "totalDefectCount": 0 
    } 
] 

回答

1

使用您的每个数据阵列的地图:

var lightData = rawData.map(function(item) { 
    // use Object.assign to prevent mutating original object 
    var newItem = Object.assign({}, item); 
    var lightExecutions = item.executions.map(function(d) { 
    var ld = { 
     id: d.id, 
     orderId: d.orderId, 
     executionStatus: d.executionStatus, 
     executedOn: d.executedOn, 
     executedBy: d.executedBy, 
     executedByDisplay: d.executedByDisplay, 
    }; 
    return ld; 
    }); 
    newItem.executions = lightExecutions; 
    return newItem; 
}); 

只有田野上你的映射对象包括将填充新的数据集。

+1

新增了'Object.assign'来防止原始数据的变化。 –

+0

好的,谢谢! – Batman