

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# JSON.DEBUG
<a name="json-debug"></a>

Informações do relatório. Os subcomandos compatíveis são:
+ MEMORY <key> [path]: informa o uso de memória em bytes de um valor JSON. O caminho assumirá o padrão da raiz se não for fornecido.
+ DEPTH <key> [caminho]: informa a profundidade máxima do caminho do documento JSON.
**nota**  
Esse subcomando está disponível somente usando o mecanismo do Valkey 7.2 ou posterior ou Redis OSS versão 6.2.6.R2 ou posterior.
+ FIELDS <key> [path]: informa o número de campos no caminho do documento especificado. O caminho assumirá o padrão da raiz se não for fornecido. Cada valor JSON não contêiner conta como um campo. Objetos e matrizes contam recursivamente como um campo para cada um dos valores JSON que contêm. Cada valor de contêiner, exceto o contêiner raiz, conta como um campo adicional.
+ HELP: imprime mensagens de ajuda referentes ao comando.

Sintaxe

```
JSON.DEBUG <subcommand & arguments>
```

Depende do subcomando:

MEMORY
+ Se o caminho for uma sintaxe aprimorada:
  + Retorna uma matriz de inteiros, que representa o tamanho da memória (em bytes) do valor JSON em cada caminho.
  + Retorna uma matriz vazia quando a chave não existe.
+ Se o caminho for uma sintaxe restrita:
  + retorna um número inteiro, o tamanho da memória do valor JSON em bytes.
  + Retorna nulo quando a chave não existe.

DEPTH
+ Retorna um número inteiro que representa a profundidade máxima do caminho do documento JSON.
+ Retorna nulo quando a chave não existe.

FIELDS
+ Se o caminho for uma sintaxe aprimorada:
  + Retorna uma matriz de inteiros, que representa o número de campos do valor JSON em cada caminho.
  + Retorna uma matriz vazia quando a chave não existe.
+ Se o caminho for uma sintaxe restrita:
  + retorna um número inteiro, número de campos do valor JSON.
  + Retorna nulo quando a chave não existe.

HELP: retorna uma série de mensagens de ajuda.

**Exemplos**

Sintaxe do caminho aprimorada:

```
127.0.0.1:6379> JSON.SET k1 . '[1, 2.3, "foo", true, null, {}, [], {"a":1, "b":2}, [1,2,3]]'
OK
127.0.0.1:6379> JSON.DEBUG MEMORY k1 $[*]
1) (integer) 16
2) (integer) 16
3) (integer) 19
4) (integer) 16
5) (integer) 16
6) (integer) 16
7) (integer) 16
8) (integer) 50
9) (integer) 64
127.0.0.1:6379> JSON.DEBUG FIELDS k1 $[*]
1) (integer) 1
2) (integer) 1
3) (integer) 1
4) (integer) 1
5) (integer) 1
6) (integer) 0
7) (integer) 0
8) (integer) 2
9) (integer) 3
```

Sintaxe do caminho restrita:

```
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.DEBUG MEMORY k1
(integer) 632
127.0.0.1:6379> JSON.DEBUG MEMORY k1 .phoneNumbers
(integer) 166

127.0.0.1:6379> JSON.DEBUG FIELDS k1
(integer) 19
127.0.0.1:6379> JSON.DEBUG FIELDS k1 .address
(integer) 4

127.0.0.1:6379> JSON.DEBUG HELP
1) JSON.DEBUG MEMORY <key> [path] - report memory size (bytes) of the JSON element. Path defaults to root if not provided.
2) JSON.DEBUG FIELDS <key> [path] - report number of fields in the JSON element. Path defaults to root if not provided.
3) JSON.DEBUG HELP - print help message.
```