JSON.OBJLEN - Amazon MemoryDB

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

JSON.OBJLEN

Obtenez le nombre de clés dans les valeurs des objets sur le chemin.

Syntaxe

JSON.OBJLEN <key> [path]
  • clé (obligatoire) — clé du type de JSON document

  • path (facultatif) — un JSON chemin. La valeur par défaut est la racine si elle n'est pas fournie

Retour

Si le chemin est une syntaxe améliorée :

  • Tableau d'entiers, représentant la longueur de l'objet à chaque chemin.

  • Si une valeur n'est pas un objet, sa valeur de retour correspondante est nulle.

  • Valeur nulle si la clé du document n'existe pas.

Si le chemin est une syntaxe restreinte :

  • Entier, nombre de clés dans l'objet.

  • Si plusieurs objets sont sélectionnés, la commande renvoie la longueur du premier objet.

  • Erreur WRONGTYPE si la valeur au chemin n'est pas un objet.

  • Erreur WRONGTYPE si le chemin n'existe pas.

  • Valeur nulle si la clé du document n'existe pas.

Exemples

Syntaxe de chemin améliorée :

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)

Syntaxe de chemin restreinte :

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