JSON.OBJLEN - Amazon MemoryDB

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

JSON.OBJLEN

Ruft die Anzahl der Schlüssel in den Objektwerten im Pfad ab.

Syntax

JSON.OBJLEN <key> [path]
  • key (erforderlich) — Schlüssel des JSON Dokumenttyps

  • Pfad (optional) — ein JSON Pfad. Standardmäßig wird das Stammverzeichnis verwendet, wenn es nicht angegeben wird

Ergebnis

Wenn der Pfad eine erweiterte Syntax ist:

  • Array von ganzen Zahlen, die die Objektlänge an jedem Pfad darstellen.

  • Wenn ein Wert kein Objekt ist, ist der entsprechende Rückgabewert null.

  • Null, wenn der Dokumentschlüssel nicht vorhanden ist.

Wenn der Pfad eine eingeschränkte Syntax hat:

  • Ganzzahl, Anzahl der Schlüssel im Objekt.

  • Wenn mehrere Objekte ausgewählt sind, gibt der Befehl die Länge des ersten Objekts zurück.

  • WRONGTYPE-Fehler, wenn der Wert im Pfad kein Objekt ist.

  • WRONGTYPE-Fehler, wenn der Pfad nicht vorhanden ist.

  • Null, wenn der Dokumentschlüssel nicht vorhanden ist.

Beispiele

Erweiterte Pfad-Syntax:

127.0.0.1:6379> JSON.SET k1 $ '{"a":{}, "b":{"a":"a"}, "c":{"a":"a", "b":"bb"}, "d":{"a":1, "b":"b", "c":{"a":3,"b":4}}, "e":1}' OK 127.0.0.1:6379> JSON.OBJLEN k1 $.a 1) (integer) 0 127.0.0.1:6379> JSON.OBJLEN k1 $.a.* (empty array) 127.0.0.1:6379> JSON.OBJLEN k1 $.b 1) (integer) 1 127.0.0.1:6379> JSON.OBJLEN k1 $.b.* 1) (nil) 127.0.0.1:6379> JSON.OBJLEN k1 $.c 1) (integer) 2 127.0.0.1:6379> JSON.OBJLEN k1 $.c.* 1) (nil) 2) (nil) 127.0.0.1:6379> JSON.OBJLEN k1 $.d 1) (integer) 3 127.0.0.1:6379> JSON.OBJLEN k1 $.d.* 1) (nil) 2) (nil) 3) (integer) 2 127.0.0.1:6379> JSON.OBJLEN k1 $.* 1) (integer) 0 2) (integer) 1 3) (integer) 2 4) (integer) 3 5) (nil)

Eingeschränkte Pfad-Syntax:

127.0.0.1:6379> JSON.SET k1 . '{"a":{}, "b":{"a":"a"}, "c":{"a":"a", "b":"bb"}, "d":{"a":1, "b":"b", "c":{"a":3,"b":4}}, "e":1}' OK 127.0.0.1:6379> JSON.OBJLEN k1 .a (integer) 0 127.0.0.1:6379> JSON.OBJLEN k1 .a.* (error) NONEXISTENT JSON path does not exist 127.0.0.1:6379> JSON.OBJLEN k1 .b (integer) 1 127.0.0.1:6379> JSON.OBJLEN k1 .b.* (error) WRONGTYPE JSON element is not an object 127.0.0.1:6379> JSON.OBJLEN k1 .c (integer) 2 127.0.0.1:6379> JSON.OBJLEN k1 .c.* (error) WRONGTYPE JSON element is not an object 127.0.0.1:6379> JSON.OBJLEN k1 .d (integer) 3 127.0.0.1:6379> JSON.OBJLEN k1 .d.* (integer) 2 127.0.0.1:6379> JSON.OBJLEN k1 .* (integer) 0