Wie kann ich reverse JSON in JavaScript?
[
{"task":"test","created":"/Date(1291676980607)/"},
{"task":"One More Big Test","created":"/Date(1291677246057)/"},
{"task":"New Task","created":"/Date(1291747764564)/"}
]
Schaute ich auf hier, und jemand hatte die gleiche Art von Frage, aber "geprüft" richtige Antwort war, dass es anders sein wird auf IE, wenn der Artikel gelöscht wird, wäre schon was feines. Mein Problem ist, diese oben genannten Punkte sind gespeichert, aber wenn ich gehe und Sie greifen, Durchlaufen, und kehren Sie die Positionen vertauscht sind und die created
ist am 0
index und task
ist bei 1
. Ich auch, zurückgeben müssen diese als JSON.
Hier ist meine grundlegende JS (Wert == eine int den Benutzer übergeben):
outputJSON = {};
for(x in json[value]){
outputJSON[x] = _objectRevival(json[value][x]);
}
return outputJSON;
Zurückgibt:
created: Mon Dec 06 2010 15:09:40 GMT-0800 (Pacific Standard Time)
task: "test"
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Reihenfolge der Eigenschaften für ein Objekt nicht definiert ist. Es ist nicht möglich, Sie zu zwingen, in einer bestimmten Reihenfolge. Wenn Sie müssen Sie in einer bestimmten Reihenfolge, Sie bauen diese Struktur zuverlässig mithilfe von arrays:
Dann kann man Durchlaufen einer Struktur wie dieser:
Zur Durchsetzung einer bestimmten Reihenfolge für die Ausgabe ersetzen Sie einfach
json[value]
in Ihremfor
- Schleife mit einem array von Objekt-Eigenschaften in der Reihenfolge, die Sie wollen, um Sie, in Ihrem Fall["task", "created"]
.Das problem ist, dass javascript-Objekte nicht speichern Sie Ihre Eigenschaften in einer bestimmten Reihenfolge. Arrays auf der anderen tun (also warum Sie können etwas Einklang von json[0], json[1], json[2]).
Wenn Ihre Objekte immer "Aufgabe" und "erstellt", dann kann man Sie in beliebiger Reihenfolge Sie wollen.
und
Update:
Diese Arbeit sollte mit den existierenden code.
Vor dem senden der json-Objekt:
Dann senden Sie Ihre json-off auf dem server. Später, wenn man die Daten wieder vom server:
_objectRevival()
macht es so, wenn einige Daten gespeichert, die war einobject
zum Beispiel, wenn ein Benutzer in eineDate()
- Objekt, wandelt es um .getTime () - dann bringt es im/Date(12345...)/
und_objectRevival()
macht es zurück in eineDate()
oder ein anderes Objekt, oder, wenn es passt keine vordefinierten Objekte, nur was gab ich es zurück.Dies ergibt die folgende Ausgabe:
Selbst wenn Sie JSON-array wird es Umgekehrt.