I JSON-Datei wie unten haben:Knüpfen Sie neue Array für json Daten
[
{"TYPE": "A", "STATUS": "SUCCESS", "DISCOUNT": 500.00, "TOTAL": 5000.00},
{"TYPE": "A", "STATUS": "SUCCESS", "DISCOUNT": 300.00, "TOTAL": 1266.00},
{"TYPE": "A", "STATUS": "FAIL", "DISCOUNT": 300.00, "TOTAL": 515.00},
{"TYPE": "B", "STATUS": "SUCCESS", "DISCOUNT": 323, "TOTAL": 846.00},
{"TYPE": "B", "STATUS": "FAIL", "DISCOUNT": 80.00, "TOTAL": 3000.00},
{"TYPE": "B", "STATUS": "KIV", "DISCOUNT": 105, "TOTAL": 900.00},
{"TYPE": "C", "STATUS": "KIV", "DISCOUNT": 245.00, "TOTAL": 998.75},
{"TYPE": "B", "STATUS": "SUCCESS", "DISCOUNT": 234.00, "TOTAL": 3500.00},
{"TYPE": "C", "STATUS": "SUCCESS", "DISCOUNT": 201, "TOTAL": 5008.00},
{"TYPE": "C", "STATUS": "FAIL", "DISCOUNT": 712, "TOTAL": 12300.00},
{"TYPE": "A", "STATUS": "SUCCESS", "DISCOUNT": 500.00, "TOTAL": 5000.00},
{"TYPE": "D", "STATUS": "SUCCESS", "DISCOUNT": 300.00, "TOTAL": 1266.00},
{"TYPE": "D", "STATUS": "FAIL", "DISCOUNT": 300.00, "TOTAL": 515.00},
{"TYPE": "D", "STATUS": "SUCCESS", "DISCOUNT": 323, "TOTAL": 846.00},
{"TYPE": "B", "STATUS": "FAIL", "DISCOUNT": 80.00, "TOTAL": 3000.00},
{"TYPE": "B", "STATUS": "KIV", "DISCOUNT": 105, "TOTAL": 900.00},
{"TYPE": "C", "STATUS": "KIV", "DISCOUNT": 245.00, "TOTAL": 998.75},
{"TYPE": "B", "STATUS": "SUCCESS", "DISCOUNT": 234.00, "TOTAL": 3500.00},
{"TYPE": "C", "STATUS": "KIV", "DISCOUNT": 201, "TOTAL": 5008.00},
{"TYPE": "C", "STATUS": "SUCCESS", "DISCOUNT": 712, "TOTAL": 12300.00}
]
Wie zu machen:
- Array von Status
- Array von insgesamt (Summe für jeden Status)
- Array-Nummer für jeden Status
Beispiel (Exp ektiert Ergebnis):
1) Status [ "SUCCESS", "FAIL", "KIV"]
2) Gesamt [199.000,00, 12000.00, 6000.00]
3) Anzahl der einzelnen Status für jeden Typ wie:
[{A:[{SUCCESS: 2},
{FAIL: 1}]
},
{B:[{SUCCESS:2},
{FAIL:1},
{KIV:1}]
}]
ich habe meine eigene Art und Weise und ihre Werke versucht (außer ohne 3), aber ich möchte wissen, ob es einen anderen Weg geben kann zu tun, was einfacher ist. ist unter meinem Schritt:
var arrStatus=[];
var countStatus=[];
var flagStatus="";
var arrTotal=[];
for (var i = 0; i < data.length; i++) {
var tempStatus = data[i].STATUS;
flagStatus= false;
for(var z = 0; z< arrStatus.length; z++){
if(tempStatus == arrStatus[z]){
arrTotal[z] += data[i].TOTAL;
countStatus[z]++;
flagStatus = true;
}
}
if(flagStatus == false){
countStatus.push(1);
arrStatus.push(tempStatus);
arrTotal.push(data[i].TOTAL);
}
}
Danke
für die Unterstützung
Angenommen, dies ist C#, können Sie die Newtonsoft.Json-Bibliothek verwenden, um die JSON-Zeichenfolge in ein stark typisiertes JObject zu analysieren. Von diesem Objekt aus können Sie die Daten manipulieren, um ein neues JObject zu Ihrem Wunsch zu generieren. – Mackers