JSON.ARRINDEX - Amazon ElastiCache (Redis OSS)

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.ARRINDEX

Sucht nach dem ersten Vorkommen eines skalaren JSON-Werts in den Arrays am Pfad.

  • Fehler außerhalb des Bereichs werden behandelt, indem der Index auf den Anfang und das Ende des Arrays gerundet wird.

  • Wenn start > end, return -1 (nicht gefunden).

Syntax

JSON.ARRINDEX <key> <path> <json-scalar> [start [end]]
  • key (erforderlich) — Ein Redis-OSS-Schlüssel vom JSON-Dokumenttyp.

  • path (erforderlich) – Ein JSON-Pfad.

  • json-scalar (erforderlich) – Der Skalarwert für die Suche nach . JSON-Skalar bezieht sich auf Werte, die keine Objekte oder Arrays sind. Das bedeutet, dass die Werte „Zeichenfolge“, „Zahl“, „Boolescher Wert“ und „Null“ skalare Werte sind.

  • start (optional) – einschließlich Startindex. Es gilt der Standardwert „0“, falls nicht vorhanden.

  • end (optional) – Der Endindex (exklusive). Es gilt der Standardwert „0“, wenn keine Angabe gemacht wird, was bedeutet, dass das letzte Element enthalten ist. 0 oder -1 bedeutet, dass das letzte Element enthalten ist.

Ergebnis

Wenn der Pfad eine erweiterte Syntax ist:

  • Array von ganzen Zahlen. Jeder Wert ist der Index des übereinstimmenden Elements im Array am Pfad. Der Wert ist -1, falls nicht gefunden.

  • Wenn ein Wert kein Array ist, ist der entsprechende Rückgabewert Null.

Wenn der Pfad eine eingeschränkte Syntax hat:

  • Ganzzahl, der Index des übereinstimmenden Elements oder -1, falls nicht gefunden.

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

Beispiele

Erweiterte Pfad-Syntax:

127.0.0.1:6379> JSON.SET k1 . '[[], ["a"], ["a", "b"], ["a", "b", "c"]]' OK 127.0.0.1:6379> JSON.ARRINDEX k1 $[*] '"b"' 1) (integer) -1 2) (integer) -1 3) (integer) 1 4) (integer) 1

Eingeschränkte Pfad-Syntax:

127.0.0.1:6379> JSON.SET k1 . '{"children": ["John", "Jack", "Tom", "Bob", "Mike"]}' OK 127.0.0.1:6379> JSON.ARRINDEX k1 .children '"Tom"' (integer) 2