Meine Vermessungsausgabe ist wie {"a": "1", "b": "2", "c": "1", "d": "0", "e ":" Verbessere bitte "," Id ":" 789 "}, wenn es den Jsp erreicht, und ich würde gerne 0 zu Gut, 1 zu Schlecht und 2 zu OK ändern, was die Ausgaben von a, b, c sind, d .wie können wir das mit der foreach-Funktion machen?Java-Skript zum Umwandeln von JSON-Daten
Antwort
So ähnlich?
var input = {"a":"1","b":"2","c":"1","d":"0","e":"please improve","Id":"789"};
var mapvals = {"0":"good", "1":"bad", "2":"ok"};
var newObject = Object.keys(input).reduce(function(previous, current) {
previous[current] = mapvals[input[current]] || input[current];
return previous;
}, {});
console.log(newObject);
Welche gibt:
{
a: "bad",
b: "ok",
c: "bad",
d: "good",
e: "please improve",
Id: "789"
}
Sie es mit einer forEach
Funktion manuell tun könnte, wenn man wirklich wollte ... aber ich werde das auf Sie verlassen.
@munch, ich weiß nicht, was Sie meinen "meine Eingabe ist eine ganze Tabelle". '$ {jsondata}' ist kein gültiges Javascript ... also kann ich nicht mal raten, was Sie meinen (Datenbanktabelle? HTML-Tabelle? Javascript-Array von Arrays?). Kannst du mir ein Beispiel geben? –
foreach()
und map()
funktionieren nur auf Arrays, so dass sie nicht direkt auf Ihrem Objekt verwendet werden können. Sie müssen die Funktionen keys()
oder entries()
zuerst verwenden, um die Felder im Objekt als Array zu erhalten.
Leider funktioniert Object.entries()
derzeit nur in Firefox (*). Wie dem auch sei, keys()
erzeugt sowieso einfacheren Code.
var input = {"a":"1","b":"2","c":"1","d":"0","e":"please improve","Id":"789"};
var mapvals = {"0":"good", "1":"bad", "2":"ok"};
var output = {};
Object.keys(input).forEach(function(key) {
output[key] = mapvals[input[key]] || input[key];
});
console.log(output);
(*) Es ist auch in Chrome zur Verfügung, aber nur hinter einer Konfiguration Flagge.
@NickGrealy Ich hoffe, es macht dir nichts aus ... Ich habe dein Framework geliehen, um zu zeigen, dass es etwas einfacher als dein Beispiel gemacht werden kann. –
es ist ein JSON-Array: {"a": "0", "b": "2", "c": "0", "d": "0", "e": "", "id" : "456"}, {a: 0, b: 0, c: 0, d: 0, e: test, id : "123"}, {"a": "0", "b": "2", "c": "0", "d": "0", "e": "bitte testen", "id ":" 456 "}, {a: 0, b: 2, c: 0, d: 0, e:", id : "456"}, {a: 0, b: 1, c: 1, d: 0, e: ID, 456}, {a: 2, b: 2, c: 2, d: 2, e:, id: 789 "}, {a": 1 "," b ":" 1 "," c ":" 1 "," d ":" 1 "," e ":" Umfrage "," id ": 789 "}, {a": "1", "b": "1", "c": "2", "d": "2", "e": "1234567", "id": 789 "}, {" a ":" 0 "," b ":" 0 "," c ":" 0 "," d ":" 0 "," e ":" "," id ":" 234 "}, – munch
Entschuldigung, es funktioniert nicht für meine Daten. – munch
können Sie die Werte beim Serialisieren des Objekts konvertieren. Bevor Sie die Json an das Backend senden:
var data = {"a":"1","b":"2","c":"1","d":"0","e":"please improve","Id":"789"};
var mapvals = {"0":"good", "1":"bad", "2":"ok"};
var json = JSON.stringify(data, (key, value) => key && value in mapvals? mapvals[value]: value);
json:
{"a":"bad","b":"ok","c":"bad","d":"good","e":"please improve","Id":"789"}
können Sie auch weitere hinzufügen „Filter“, um nur einige Tasten, um diese Logik anwenden
auch mit komplexeren Arbeiten Daten, wie das Array von solchen Artikeln, die du erwähnt hast.
var data = [
{"a":"0","b":"2","c":"0","d":"0","e":" ","id":"456"},
{"a":"0","b":"0","c":"0","d":"0","e":"test","id":"123"},{"a":"0","b":"2","c":"0","d":"0","e":"please test ","id":"456"},
{"a":"0","b":"2","c":"0","d":"0","e":" ","id":"456"},
{"a":"0","b":"1","c":"1","d":"0","e":" ","id":"456"},
{"a":"2","b":"2","c":"2","d":"2","e":" ","id":"789"},
{"a":"1","b":"1","c":"1","d":"1","e":"survey ","id":"789"},
{"a":"1","b":"1","c":"2","d":"2","e":"1234567","id":"789"},
{"a":"0","b":"0","c":"0","d":"0","e":" ","id":"234"}
];
var mapvals = {"0":"good", "1":"bad", "2":"ok"};
var json = JSON.stringify(data, (key, value) => key && value in mapvals? mapvals[value]: value);
json:
[{"a":"good","b":"ok","c":"good","d":"good","e":" ","id":"456"},{"a":"good","b":"good","c":"good","d":"good","e":"test","id":"123"},{"a":"good","b":"ok","c":"good","d":"good","e":"please test ","id":"456"},{"a":"good","b":"ok","c":"good","d":"good","e":" ","id":"456"},{"a":"good","b":"bad","c":"bad","d":"good","e":" ","id":"456"},{"a":"ok","b":"ok","c":"ok","d":"ok","e":" ","id":"789"},{"a":"bad","b":"bad","c":"bad","d":"bad","e":"survey ","id":"789"},{"a":"bad","b":"bad","c":"ok","d":"ok","e":"1234567","id":"789"},{"a":"good","b":"good","c":"good","d":"good","e":" ","id":"234"}]
- 1. Beautifier zum Umwandeln von Semikolons
- 2. Javaskript: Einfache Substraktion liefert NaN
- 3. Algorithmus zum Umwandeln von Ausdruck in Binärbaum
- 4. Inkscape zum Umwandeln von SVG in PNG
- 5. Node.js Streams zum Umwandeln lesbar
- 6. Physischer Punkt zum Index umwandeln mit ITK
- 7. Xamarin iOS: Webview Seite mit Javaskript im Navigationsstapel hinzufügen
- 8. Formel zum Umwandeln der Positionsachse in Zeit
- 9. Die beste Methode zum Umwandeln von Animal [] in Hund []
- 10. Code zum Umwandeln von Benutzereingaben in literale reguläre Ausdrücke? (C#)
- 11. Formel zum Umwandeln von Datum in die Nummer
- 12. Funktion zum Umwandeln von wstring in const char * für SQlite
- 13. Gutes Werkzeug zum Umwandeln von Mssql-Abfragen in MySQL-Abfragen
- 14. wie zum Umwandeln von Datumsformat unter Datumsformat in jquery
- 15. Bibliotheken zum Umwandeln von HashMap in druckbare Form
- 16. Verwendung von Imagemagick zum Umwandeln eines violetten Iconsets in blau
- 17. Alternative (n) zum Umwandeln von Canvas in WriteableImage
- 18. Pyaudio - Algorithmus zum Umwandeln von Audiodaten in eine Zeichenfolge
- 19. NLP-Frameworks zum Umwandeln von natürlicher Sprache in Datenbankabfragen
- 20. Umwandeln von String^in Int
- 21. OverflowError Python int zu groß zum Umwandeln in C lang
- 22. InvalidCastException: Kann nicht vom Quelltyp zum Zieltyp umwandeln. sqlite
- 23. Kürzester Pfad zum Umwandeln eines Wortes in ein anderes
- 24. Localizable.strings in Tabellenkalkulation umwandeln?
- 25. Währung umwandeln
- 26. Kriminalitätsraten umwandeln
- 27. Umwandeln von Zeichenfolgen in konvertierbare JSON-Arrays
- 28. Eine saubere Möglichkeit zum Umwandeln in einen tatsächlichen Objekttyp
- 29. C-Funktion zum Umwandeln eines RAW-Bildes nach PNG
- 30. Problem mit Datei überschrieben wird, während ffmpeg verwendet zum Umwandeln
Dank, u kann mir ein Beispiel geben. – munch
nein, es ist gut. Vielen Dank – munch
verdammt ... Ich dachte, du arbeitest mit einem Array, wie Sie foreach erwähnt ... Entschuldigung für die Irreführung Sie –