2017-09-15 3 views
0

Actuellement, j'ai de très grandes données JSON et je veux faire une version réduite avant d'utiliser les données JSON pour traiter dans Angular JS Controller.Comment supprimer un objet Json dans un grand JSON Array dans Angular JS

Dans le dessous JSON données, je ne veux pas avoir comment et élément htmlComment, Comment puis-je supprimer ceux-ci et ont de nouvelles données JSON version très légère avant de traiter les données

Ici Pour la simplicité, j'ai fait très JSON Array facile, mais en réalité, j'ai beaucoup de données qui est presque 100mb.

Je suis allé thorugh de nombreuses questions toujours pas en mesure de faire

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

est Ci-dessous les données 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 
    } 
] 

Répondre

1

Utilisez une carte sur chacun de vos tableaux de données:

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; 
}); 

Seuls les champs que vous incluez dans l'objet mappée peupler le nouvel ensemble de données.

+1

Ajout de 'Object.assign' pour empêcher la mutation des données d'origine. –

+0

Okay Merci !!! – Batman