JSON.GET - Amazon ElastiCache

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

JSON.GET

Devuelve lo serializado JSON en una o varias rutas.

Sintaxis

JSON.GET <key> [INDENT indentation-string] [NEWLINE newline-string] [SPACE space-string] [NOESCAPE] [path ...]
  • clave (obligatoria): una clave Valkey o Redis de JSON tipo OSS documento.

  • INDENTNEWLINE/SPACE(opcional): controla el formato de la JSON cadena devuelta, es decir, «letra bonita». El valor predeterminado de cada una es una cadena vacía. Se puede anular en cualquier combinación. Estos se pueden especificar en cualquier orden.

  • NOESCAPE- Opcional, se permite su uso por motivos de compatibilidad con versiones anteriores y no tiene ningún otro efecto.

  • ruta (opcional): cero o más JSON rutas; el valor predeterminado es la raíz si no se proporciona ninguna. Los argumentos de la ruta deben colocarse al final.

Devolución

Sintaxis de la ruta mejorada:

Si se da una ruta:

  • Devuelve una cadena serializada de una matriz de valores.

  • Si no selecciona ningún valor, el comando devuelve una matriz vacía.

Si se proporcionan varias rutas:

  • Devuelve un JSON objeto en cadena, en el que cada ruta es una clave.

  • Si hay una sintaxis de ruta restringida y mejorada mixta, el resultado se ajusta a la sintaxis mejorada.

  • Si no existe una ruta, su valor correspondiente es una matriz vacía.

Ejemplos

Sintaxis de la ruta mejorada:

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]"

Sintaxis de la ruta restringida:

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}"