JSON.GET - Amazon ElastiCache (Redis OSS)

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

Renvoie le JSON sérialisé sur un ou plusieurs chemins.

Syntaxe

JSON.GET <key> [INDENT indentation-string] [NEWLINE newline-string] [SPACE space-string] [NOESCAPE] [path ...]
  • clé (obligatoire) — Une clé Redis OSS de type document JSON.

  • INDENT/NEWLINE/SPACE (facultatif) : Contrôle le format de la chaîne JSON retournée, c'est-à-dire l'« impression élégante ». La valeur par défaut de chacun d'elle est une chaîne vide. Elles peuvent être remplacées par n'importe quelle combinaison. Elles peuvent être spécifiées dans n'importe quel ordre.

  • NOESCAPE : Facultatif, autorisé à être présent pour la compatibilité héritée et n'a aucun autre effet.

  • path (facultatif) : zéro ou plusieurs chemins JSON, par défaut la racine si aucun n'est donné. Les arguments de chemin doivent être placés à la fin.

Retour

Syntaxe de chemin améliorée :

Si un seul chemin est fourni :

  • Renvoie une chaîne sérialisée d'un tableau de valeurs.

  • Si aucune valeur n'est sélectionnée, la commande renvoie un tableau vide.

Si plusieurs chemins sont fournis :

  • Renvoie un objet JSON sérialisé, dans lequel chaque chemin est une clé.

  • Si la syntaxe des chemins est mixte, améliorée et restreinte, le résultat est conforme à la syntaxe améliorée.

  • Si un chemin n'existe pas, sa valeur correspondante est un tableau vide.

Exemples

Syntaxe de chemin améliorée :

127.0.0.1:6379> JSON.SET k1 . '{"firstName":"John","lastName":"Smith","age":27,"weight":135.25,"isAlive":true,"address":{"street":"21 2nd Street","city":"New York","state":"NY","zipcode":"10021-3100"},"phoneNumbers":[{"type":"home","number":"212 555-1234"},{"type":"office","number":"646 555-4567"}],"children":[],"spouse":null}' OK 127.0.0.1:6379> JSON.GET k1 $.address.* "[\"21 2nd Street\",\"New York\",\"NY\",\"10021-3100\"]" 127.0.0.1:6379> JSON.GET k1 indent "\t" space " " NEWLINE "\n" $.address.* "[\n\t\"21 2nd Street\",\n\t\"New York\",\n\t\"NY\",\n\t\"10021-3100\"\n]" 127.0.0.1:6379> JSON.GET k1 $.firstName $.lastName $.age "{\"$.firstName\":[\"John\"],\"$.lastName\":[\"Smith\"],\"$.age\":[27]}" 127.0.0.1:6379> JSON.SET k2 . '{"a":{}, "b":{"a":1}, "c":{"a":1, "b":2}}' OK 127.0.0.1:6379> json.get k2 $..* "[{},{\"a\":1},{\"a\":1,\"b\":2},1,1,2]"

Syntaxe de chemin restreinte :

127.0.0.1:6379> JSON.SET k1 . '{"firstName":"John","lastName":"Smith","age":27,"weight":135.25,"isAlive":true,"address":{"street":"21 2nd Street","city":"New York","state":"NY","zipcode":"10021-3100"},"phoneNumbers":[{"type":"home","number":"212 555-1234"},{"type":"office","number":"646 555-4567"}],"children":[],"spouse":null}' OK 127.0.0.1:6379> JSON.GET k1 .address "{\"street\":\"21 2nd Street\",\"city\":\"New York\",\"state\":\"NY\",\"zipcode\":\"10021-3100\"}" 127.0.0.1:6379> JSON.GET k1 indent "\t" space " " NEWLINE "\n" .address "{\n\t\"street\": \"21 2nd Street\",\n\t\"city\": \"New York\",\n\t\"state\": \"NY\",\n\t\"zipcode\": \"10021-3100\"\n}" 127.0.0.1:6379> JSON.GET k1 .firstName .lastName .age "{\".firstName\":\"John\",\".lastName\":\"Smith\",\".age\":27}"