Ich habe die nächsten Daten:Wie kann ich Änderungen in einem tief verschachtelten Objekt speichern?
reservations = {
"2016":{"A36822":{"datetime":"6/22/17 at 11:00AM","visitors":"11 guests", "notes_backend":"Some notes 111"}},
"2017":{"A36822":{"datetime":"6/22/17 at 11:00AM","visitors":"11 guests", "notes_backend":"Some notes 222"}}
}
Ich muss dann aktualisiert senden reservations
API einige notes_backend
und ändern.
Hier ist mein Code:
var reservations_obj = JSON.parse(reservations),
raw_id = 'A36822';
for (var year in reservations_obj){
if (raw_id in reservations_obj[year]){
reservations_obj[year][raw_id]["notes_backend"] = "UPDATED NOTES";
console.log('new_data:', reservations_obj[year][raw_id]); // new_data: {datetime: "6/22/17 at 11:00AM", visitors: "11 guests", notes_backend: "UPDATED NOTES"}
console.log(JSON.stringify(reservations_obj)); // no changes
break;
}
}
... send updated reservations_obj to API
Die erste console.log
zeigt, dass reservations_obj[year][raw_id]
geändert wird, aber die zweite console.log
zeigt mir anfängliche reservations_obj
ohne Updates.
Der obige Code basiert auf Python-Logik, aber wie implementiert man es in JavaScript?
Könnten Sie bitte erklären, was genau das Problem ist, weil Ihr Code bereits JavaScript-Implementierung ist. –
Bitte beachten Sie die Kommentare im Code. Das erste 'console.log' zeigt, dass' reservations_obj [Jahr] [raw_id] 'geändert wurde, aber das zweite' console.log' zeigt mir das erste 'reservations_obj' ohne irgendwelche Updates. – TitanFighter
Wenn ich die Syntaxfehler entferne, die durch die Verwendung des falschen Symbols für "Beginn des Kommentars" für die Sprache verursacht wurden, scheint es zu funktionieren. Was ist das Problem? (Voting, um Off-Topic als durch einen Tippfehler verursacht zu schließen) – Quentin