Auf der offiziellen Dokumentation von JSONWie werden Objekte in JavaScript im Speicher gespeichert?
Ein Objekt ist eine ungeordnete Menge von Name/Wert-Paaren. Ein Objekt beginnt mit mit {(linke Klammer) und endet mit} (rechte Klammer). Jeder Name ist gefolgt von: (Doppelpunkt) und die Name/Wert-Paare sind durch, (Komma) getrennt.
Hinweis Ich bin Neuling Javascript, und aus dem Namen JSON (JavaScript Object Notation) selbst, ich nehme an Objekte in Javascript sind die gleichen wie JSON. Bitte korrigiere mich, falls ich es falsch verstanden habe.
Aus der obigen Definition scheint es, dass die Javascript-Objekte höchstwahrscheinlich entweder durch eine Hashmap oder eine BST oder eine ähnliche Datenstruktur implementiert sind.
Aber wenn ich Key-Wert-Paare in Node Shell einfügen, werden sie serialisiert eingefügt. Dies ist das, was ich in Knoten Shell versucht,
> var a = {}
undefined
> a['k1'] = 'a1'
'a1'
> a['k3'] = 'a3'
'a3'
> a['k2'] = 'a2'
'a2'
> a['k4'] = 'a4'
'a4'
> a['k5'] = 'a5'
'a5'
> a
{ k1: 'a1',
k3: 'a3',
k2: 'a2',
k4: 'a4',
k5: 'a5' }
Nun a
die Schlüsselwertpaare auf den Druck in der gleichen Größenordnung wie die Einführrichtung zurückgeführt. Also meine Fragen sind:
- Erhalte ich schnelle Lookups für einen Schlüssel? Ich meine Komplexität von O (log (n)) oder besser.
- Falls JSON keine Datenstruktur wie BST, Hashmap oder ähnliche DS verwendet, wie genau werden dann JSON-Objekte unter dem Speicher abgelegt?
aktualisieren Ok, so was ist Javascript Objekte. Kann jemand die zugrunde liegende Implementierung von Javascript-Objekten kommentieren?
JSON ist eine Notation, wie XML ist eine andere. Es basiert jedoch stark auf Javascript-Objekten, daher der Name. Ansonsten gibt es keine Beziehung. –
Es gibt keine "JSON-Objekte".Auch der Name sollte das sagen ("object notation object"?) – JJJ
@FlorianMargaine Danke Kumpel für Ihren Kommentar. Es war hilfreich. –