Pular para o conteúdo principal

Tipos de funções JSON

Há dois conjuntos de funções para analisar de JSON:

funções simpleJSON (visitParam)

O ClickHouse tem funções especiais para trabalhar com JSON simplificado. Todas essas funções JSON se baseiam em pressupostos rígidos sobre como o JSON pode ser. Elas procuram fazer o mínimo possível para executar a tarefa o mais rápido possível. Os seguintes pressupostos são adotados:
  1. O nome do campo (argumento da função) deve ser uma constante.
  2. O nome do campo deve estar codificado de forma canônica no JSON. Por exemplo: simpleJSONHas('{"abc":"def"}', 'abc') = 1, mas simpleJSONHas('{"\\u0061\\u0062\\u0063":"def"}', 'abc') = 0
  3. Os campos são procurados em qualquer nível de aninhamento, sem distinção. Se houver vários campos correspondentes, a primeira ocorrência será usada.
  4. O JSON não contém caracteres de espaço fora de literais de string.

Funções JSONExtract

Essas funções são baseadas em simdjson e foram projetadas para necessidades mais complexas de análise de JSON.

Funções JSONExtract sem distinção entre maiúsculas e minúsculas

Essas funções fazem correspondência de chaves em ASCII sem distinção entre maiúsculas e minúsculas ao extrair valores de objetos JSON. Elas funcionam de forma idêntica às equivalentes com distinção entre maiúsculas e minúsculas, exceto pelo fato de que as chaves do objeto são correspondidas sem considerar o uso de maiúsculas e minúsculas. Quando várias chaves correspondem com grafias diferentes entre maiúsculas e minúsculas, a primeira correspondência é retornada.
Essas funções podem ter desempenho inferior ao das equivalentes com distinção entre maiúsculas e minúsculas, portanto, use as funções JSONExtract regulares, se possível.

JSONAllPaths

Introduzido em: v24.8.0 Retorna a lista de todos os caminhos armazenados em cada linha de uma coluna JSON. Sintaxe
Argumentos
  • json — coluna JSON. JSON
Valor retornado Retorna um array com todos os caminhos da coluna JSON. Array(String) Exemplos Exemplo de uso
Query
Response

JSONAllPathsWithTypes

Introduzido em: v24.8.0 Retorna a lista de todos os caminhos e seus tipos de dados armazenados em cada linha de uma coluna JSON. Sintaxe
Argumentos
  • json — coluna JSON. JSON
Valor retornado Retorna um map de todos os caminhos e seus tipos de dados na coluna JSON. Map(String, String) Exemplos Exemplo de uso
Query
Response

JSONAllValues

Introduzido em: v26.4.0 Retorna todos os valores de cada linha em uma coluna JSON como um array de strings. Os valores são serializados em sua representação textual e ordenados pelos nomes dos caminhos. Sintaxe
Argumentos
  • json — coluna JSON. JSON
Valor retornado Retorna um array com todos os valores da coluna JSON como strings. Array(String) Exemplos Exemplo de uso
Query
Response

JSONArrayLength

Introduzido em: v23.2.0 Retorna o número de elementos no array JSON mais externo. A função retorna NULL se a string JSON de entrada for inválida. Sintaxe
Aliases: JSON_ARRAY_LENGTH Argumentos
  • json — String com JSON válido. String
Valor retornado Retorna o número de elementos do array se json for uma string JSON que representa um array válido; caso contrário, retorna NULL. Nullable(UInt64) Exemplos Exemplo de uso
Query
Response

JSONDynamicPaths

Introduzido em: v24.8.0 Retorna a lista de caminhos dinâmicos armazenados como subcolunas separadas em uma coluna JSON. Sintaxe
Argumentos
  • json — coluna JSON. JSON
Valor retornado Retorna um array de caminhos dinâmicos da coluna JSON. Array(String) Exemplos Exemplo de uso
Query
Response

JSONDynamicPathsWithTypes

Introduzido em: v24.8.0 Retorna a lista de caminhos dinâmicos armazenados como subcolunas separadas e seus tipos em cada linha da coluna JSON. Sintaxe
Argumentos
  • json — coluna JSON. JSON
Valor retornado Retorna um mapa dos caminhos dinâmicos e seus tipos de dados na coluna JSON. Map(String, String) Exemplos Exemplo de uso
Query
Response

JSONExtract

Introduzido em: v19.14.0 Analisa JSON e extrai um valor do tipo de dado ClickHouse especificado. Sintaxe
Argumentos
  • json — String JSON a ser processada. String
  • indices_or_keys — Uma lista de zero ou mais argumentos, cada um dos quais pode ser uma string ou um inteiro. String ou (U)Int*
  • return_type — Tipo de dados do ClickHouse a ser retornado. String
Valor retornado Retorna um valor do tipo de dados do ClickHouse especificado, se possível; caso contrário, retorna o valor padrão desse tipo. Exemplos Exemplo de uso
Query
Response

JSONExtractArrayRaw

Introduzido em: v20.1.0 Retorna um array com os elementos de um array JSON, cada um representado como uma string não analisada. Sintaxe
Argumentos
  • json — String JSON a ser analisada. String
  • indices_or_keys — Uma lista de zero ou mais argumentos, cada um dos quais pode ser uma string ou um inteiro. String ou (U)Int*
Valor retornado Retorna um array de strings com os elementos do array JSON. Se a parte correspondente não for um array ou não existir, será retornado um array vazio. Array(String) Exemplos Exemplo de uso
Query
Response

JSONExtractArrayRawCaseInsensitive

Introduzido em: v25.8.0 Retorna um array com os elementos de um array JSON, cada um representado como uma string não analisada, usando correspondência de chaves sem distinção entre maiúsculas e minúsculas. Esta função é semelhante a JSONExtractArrayRaw. Sintaxe
Argumentos
  • json — String JSON a ser analisada String
  • indices_or_keys — Opcional. Índices ou chaves para navegar no array. As chaves não distinguem entre maiúsculas e minúsculas String ou (U)Int*
Valor retornado Retorna um array de strings JSON brutas. Array(String) Exemplos básico
Query
Response

JSONExtractBool

Introduzido em: v20.1.0 Faz o analisar de JSON e extrai um valor do tipo Bool. Sintaxe
Argumentos
  • json — String JSON a ser analisada. String
  • indices_or_keys — Uma lista de zero ou mais argumentos, cada um dos quais pode ser uma string ou um inteiro. String ou (U)Int*
Valor retornado Retorna um valor Bool, se existir; caso contrário, retorna 0. Bool Exemplos Exemplo de uso
Query
Response

JSONExtractBoolCaseInsensitive

Introduzido em: v25.8.0 Analisa JSON e extrai um valor booleano usando correspondência de chaves sem distinção entre maiúsculas e minúsculas. Esta função é semelhante a JSONExtractBool. Sintaxe
Argumentos
  • json — String JSON a ser analisada String
  • indices_or_keys — Opcional. Índices ou chaves para navegar até o campo. As chaves usam correspondência sem diferenciar maiúsculas de minúsculas String ou (U)Int*
Valor retornado Retorna o valor booleano extraído (1 para true, 0 para false) ou 0, se não for encontrado. UInt8 Exemplos básico
Query
Response

JSONExtractCaseInsensitive

Introduzido em: v25.8.0 Analisa JSON e extrai um valor do tipo de dado ClickHouse especificado usando correspondência de chaves sem distinção entre maiúsculas e minúsculas. Esta função é semelhante a JSONExtract. Sintaxe
Argumentos
  • json — String JSON a ser analisada String
  • indices_or_keys — Opcional. Índices ou chaves para navegar até o campo. As chaves usam correspondência que não distingue entre maiúsculas e minúsculas String ou (U)Int*
  • return_type — O tipo de dado do ClickHouse a ser extraído String
Valor retornado Retorna o valor extraído no tipo de dado especificado. Any Exemplos int_type
Query
Response
array_type
Query
Response

JSONExtractFloat

Introduzido em: v20.1.0 Analisa o JSON e extrai um valor do tipo Float. Sintaxe
Argumentos
  • json — Uma string JSON a ser analisada. String
  • indices_or_keys — Uma lista de zero ou mais argumentos, cada um dos quais pode ser uma string ou um inteiro. String ou (U)Int*
Valor retornado Retorna um valor Float, se existir; caso contrário, retorna 0. Float64 Exemplos Exemplo de uso
Query
Response

JSONExtractFloatCaseInsensitive

Introduzido na versão: v25.8.0 Analisa JSON e extrai um valor do tipo Float usando correspondência de chaves sem distinção entre maiúsculas e minúsculas. Esta função é semelhante a JSONExtractFloat. Sintaxe
Argumentos
  • json — String JSON a ser analisada String
  • indices_or_keys — Opcional. Índices ou chaves para navegar até o campo. As chaves usam correspondência sem distinção entre maiúsculas e minúsculas String ou (U)Int*
Valor retornado Retorna o valor Float extraído; 0 se não for encontrado ou se não puder ser convertido. Float64 Exemplos básico
Query
Response

JSONExtractInt

Introduzido em: v20.1.0 Faz o analisaring de JSON e extrai um valor do tipo Int. Sintaxe
Argumentos
  • json — String JSON a ser analisada. String
  • indices_or_keys — Uma lista de zero ou mais argumentos, cada um dos quais pode ser uma string ou um inteiro. String ou (U)Int*
Valor retornado Retorna um valor Int, se existir; caso contrário, retorna 0. Int64 Exemplos Exemplo de uso
Query
Response

JSONExtractIntCaseInsensitive

Introduzido em: v25.8.0 Faz o analisar de JSON e extrai um valor do tipo Int usando correspondência de chaves sem distinção entre maiúsculas e minúsculas. Esta função é semelhante a JSONExtractInt. Sintaxe
Argumentos
  • json — String JSON a ser analisada String
  • indices_or_keys — Opcional. Índices ou chaves para navegar até o campo. As chaves usam correspondência que não distingue entre maiúsculas e minúsculas String ou (U)Int*
Valor retornado Retorna o valor Int extraído, 0 se não for encontrado ou não puder ser convertido. Int64 Exemplos básico
Query
Response
aninhado
Query
Response

JSONExtractKeys

Introduzido em: v21.11.0 Analisa uma string JSON e extrai as chaves. Sintaxe
Argumentos
  • json — String JSON a ser analisada. String
  • indices_or_keys — Uma lista de zero ou mais argumentos, cada um dos quais pode ser uma string ou um inteiro. String ou (U)Int*
Valor retornado Retorna um array com as chaves do objeto JSON. Array(String) Exemplos Exemplo de uso
Query
Response

JSONExtractKeysAndValues

Introduzido em: v20.1.0 Extrai pares chave-valor de um JSON em que os valores são do tipo de dado ClickHouse especificado. Sintaxe
Argumentos
  • json — String JSON a ser analisada. String
  • indices_or_keys — Uma lista de zero ou mais argumentos, cada um dos quais pode ser uma string ou um inteiro. String ou (U)Int*
  • value_type — Tipo de dado ClickHouse dos valores. String
Valor retornado Retorna um array de tuplas com os pares chave-valor extraídos. Array(Tuple(String, value_type)) Exemplos Exemplo de uso
Query
Response

JSONExtractKeysAndValuesCaseInsensitive

Introduzido em: v25.8.0 Analisa pares chave-valor de JSON com correspondência de chaves sem distinção entre maiúsculas e minúsculas. Esta função é semelhante a JSONExtractKeysAndValues. Sintaxe
Argumentos
  • json — String JSON a ser analisada String
  • indices_or_keys — Opcional. Índices ou chaves para navegar até o objeto. As chaves usam correspondência sem distinção entre maiúsculas e minúsculas String ou (U)Int*
  • value_type — O tipo de dado do ClickHouse para os valores String
Valor retornado Retorna um array de tuplas contendo pares chave-valor. Array(Tuple(String, T)) Exemplos básico
Query
Response

JSONExtractKeysAndValuesRaw

Introduzido em: v20.4.0 Retorna um array de tuplas com as chaves e os valores de um objeto JSON. Todos os valores são representados como strings não analisadas. Sintaxe
Argumentos
  • json — String JSON a ser analisada. String
  • indices_or_keys — Uma lista de zero ou mais argumentos, cada um dos quais pode ser uma string ou um inteiro. String ou (U)Int*
Valor retornado Retorna um array de tuplas com pares chave-valor analisados, em que os valores são strings não analisadas. Array(Tuple(String, String)) Exemplos Exemplo de uso
Query
Response

JSONExtractKeysAndValuesRawCaseInsensitive

Introduzido em: v25.8.0 Extrai pares chave-valor brutos de JSON usando correspondência de chaves sem distinção entre maiúsculas e minúsculas. Esta função é semelhante a JSONExtractKeysAndValuesRaw. Sintaxe
Argumentos
  • json — String JSON a ser processada String
  • indices_or_keys — Opcional. Índices ou chaves para navegar no objeto. As chaves usam correspondência sem diferenciar maiúsculas de minúsculas String ou (U)Int*
Valor retornado Retorna um array de tuplas contendo pares chave-valor como strings em formato bruto. Array(Tuple(String, String)) Exemplos básico
Query
Response

JSONExtractKeysCaseInsensitive

Introduzido em: v25.8.0 Analisa uma string JSON e extrai as chaves usando correspondência de chaves sem distinção entre maiúsculas e minúsculas para navegar por objetos aninhados. Esta função é semelhante a JSONExtractKeys. Sintaxe
Argumentos
  • json — string JSON a ser processada String
  • indices_or_keys — Opcional. Índices ou chaves para navegar até o objeto. As chaves usam correspondência que não diferencia maiúsculas de minúsculas String ou (U)Int*
Valor retornado Retorna um array de chaves do objeto JSON. Array(String) Exemplos básico
Query
Response
aninhado
Query
Response

JSONExtractRaw

Introduzido em: v20.1.0 Retorna uma parte do JSON como string não analisada. Sintaxe
Argumentos
  • json — String JSON a ser analisada. String
  • indices_or_keys — Uma lista de zero ou mais argumentos, cada um dos quais pode ser uma string ou um inteiro. String ou (U)Int*
Valor retornado Retorna a parte do JSON como uma string não analisada. Se a parte não existir ou tiver o tipo incorreto, retorna uma string vazia. String Exemplos Exemplo de uso
Query
Response

JSONExtractRawCaseInsensitive

Introduzido em: v25.8.0 Retorna parte do JSON como uma string bruta usando correspondência de chaves sem diferenciar maiúsculas de minúsculas. Esta função é semelhante a JSONExtractRaw. Sintaxe
Argumentos
  • json — String JSON a ser analisada String
  • indices_or_keys — Opcional. Índices ou chaves para navegar até o campo. As chaves usam correspondência sem diferenciar maiúsculas de minúsculas String ou (U)Int*
Valor retornado Retorna a string JSON bruta do elemento extraído. String Exemplos objeto
Query
Response

JSONExtractString

Introduzido em: v20.1.0 Analisa JSON e extrai um valor do tipo String. Sintaxe
Argumentos
  • json — String JSON a ser analisada. String
  • indices_or_keys — Uma lista de zero ou mais argumentos, cada um deles podendo ser uma string ou um inteiro. String ou (U)Int*
Valor retornado Retorna um valor String, se existir; caso contrário, retorna uma string vazia. String Exemplos Exemplo de uso
Query
Response

JSONExtractStringCaseInsensitive

Introduzido em: v25.8.0 Analisa JSON e extrai uma string usando correspondência de chaves sem diferenciar letras maiúsculas de minúsculas. Esta função é semelhante a JSONExtractString. Sintaxe
Argumentos
  • json — String JSON a ser analisada String
  • indices_or_keys — Opcional. Índices ou chaves para navegar até o campo. As chaves usam correspondência sem diferenciar maiúsculas de minúsculas String ou (U)Int*
Valor retornado Retorna o valor de string extraído ou uma string vazia, se não for encontrado. String Exemplos básico
Query
Response
aninhado
Query
Response

JSONExtractUInt

Introduzido em: v20.1.0 Analisa JSON e extrai um valor do tipo UInt. Sintaxe
Argumentos
  • json — String JSON a ser analisada. String
  • indices_or_keys — Uma lista com zero ou mais argumentos, cada um dos quais pode ser uma string ou um inteiro. String ou (U)Int*
Valor retornado Retorna um valor UInt, se existir; caso contrário, retorna 0. UInt64 Exemplos Exemplo de uso
Query
Response

JSONExtractUIntCaseInsensitive

Introduzido em: v25.8.0 Faz o parse de JSON e extrai um valor do tipo UInt usando correspondência de chaves sem diferenciar maiúsculas de minúsculas. Esta função é semelhante a JSONExtractUInt. Sintaxe
Argumentos
  • json — String JSON a ser analisada String
  • indices_or_keys — Opcional. Índices ou chaves para navegar até o campo. As chaves usam correspondência sem diferenciar maiúsculas de minúsculas String ou (U)Int*
Valor retornado Retorna o valor UInt extraído, 0 se não for encontrado ou se não puder ser convertido. UInt64 Exemplos básico
Query
Response

JSONHas

Introduzido em: v20.1.0 Verifica se o(s) valor(es) fornecido(s) existe(m) no documento JSON. Sintaxe
Argumentos
  • json — String JSON a ser analisada String
  • [ ,indices_or_keys, ...] — Uma lista de zero ou mais argumentos. String ou (U)Int*
Valor retornado Retorna 1 se o valor existir em json; caso contrário, 0 UInt8 Exemplos Exemplo de uso
Query
Response

JSONKey

Introduzido em: v20.1.0 Retorna a chave de um campo de um objeto JSON pelo índice (começando em 1). Se o JSON for fornecido como string, ele será analisado primeiro. O segundo argumento é um caminho JSON para navegar por objetos aninhados. A função retorna o nome da chave na posição especificada. Sintaxe
Argumentos
  • json — String JSON a ser analisada. String
  • indices_or_keys — Lista opcional de índices ou chaves que especifica um caminho para um elemento aninhado. Cada argumento pode ser uma string (acesso por chave) ou um inteiro (acesso por índice, começando em 1). String ou Int*
Valor retornado Retorna o nome da chave na posição especificada no objeto JSON. String Exemplos Exemplo de uso
Query
Response

JSONLength

Introduzido em: v20.1.0 Retorna o tamanho de um array JSON ou de um objeto JSON. Se o valor não existir ou tiver o tipo incorreto, 0 será retornado. Sintaxe
Argumentos
  • json — String JSON a ser analisada String
  • [, indices_or_keys, ...] — Opcional. Uma lista de zero ou mais argumentos. String ou (U)Int8/16/32/64
Valor retornado Retorna o comprimento do array JSON ou do objeto JSON; caso contrário, retorna 0 se o valor não existir ou for do tipo incorreto. UInt64 Exemplos Exemplo de uso
Query
Response

JSONMergePatch

Introduzido em: v23.10.0 Retorna a string do objeto JSON resultante da mesclagem de vários objetos JSON. Sintaxe
Aliases: jsonMergePatch Argumentos
  • json1[, json2, ...] — Uma ou mais strings contendo JSON válido. String
Valor retornado Retorna a string do objeto JSON resultante da mesclagem, desde que as strings de objeto JSON sejam válidas. String Exemplos Exemplo de uso
Query
Response

JSONSharedDataPaths

Introduzido em: v24.8.0 Retorna a lista de caminhos armazenados na estrutura de dados compartilhada da coluna JSON. Sintaxe
Argumentos
  • json — coluna JSON. JSON
Valor retornado Retorna um array de caminhos armazenados na estrutura de dados compartilhada da coluna JSON. Array(String) Exemplos Exemplo de uso
Query
Response

JSONSharedDataPathsWithTypes

Introduzido na versão: v24.8.0 Retorna a lista de caminho armazenados na estrutura de dados compartilhados e seus tipos em cada linha da coluna JSON. Sintaxe
Argumentos
  • json — coluna JSON. JSON
Valor retornado Retorna um map dos caminhos armazenados na estrutura de dados compartilhada e de seus tipos de dados na coluna JSON. Map(String, String) Exemplos Exemplo de uso
Query
Response

JSONType

Introduzido em: v20.1.0 Retorna o tipo de um valor JSON. Se o valor não existir, Null=0 será retornado. Sintaxe
Argumentos
  • json — String JSON a ser analisada String
  • json[, indices_or_keys, ...] — Uma lista de zero ou mais argumentos, cada um dos quais pode ser uma string ou um inteiro. String ou (U)Int8/16/32/64
Valor retornado Retorna o tipo de um valor JSON como string; se o valor não existir, retorna Null=0 Enum Exemplos Exemplo de uso
Query
Response

JSON_EXISTS

Introduzido em: v21.8.0 Se o valor existir no documento JSON, 1 será retornado. Se o valor não existir, 0 será retornado. Sintaxe
Argumentos
  • json — Uma string com JSON válido. String
  • path — Uma string que representa o caminho. String
Valor retornado Retorna 1 se o valor existir no documento JSON; caso contrário, 0. UInt8 Exemplos Exemplo de uso
Query
Response

JSON_QUERY

Introduzido na versão: v21.8.0 Analisa um JSON e extrai um valor como um array JSON ou um objeto JSON. Se o valor não existir, será retornada uma string vazia. Sintaxe
Argumentos
  • json — Uma string com JSON válido. String
  • path — Uma string que representa o caminho. String
Valor retornado Retorna o array JSON ou objeto JSON extraído como uma string, ou uma string vazia se o valor não existir. String Exemplos Exemplo de uso
Query
Response

JSON_VALUE

Introduzido em: v21.11.0 Analisa um JSON e extrai um valor como escalar JSON. Se o valor não existir, uma string vazia será retornada por padrão. Esta função é controlada pelas seguintes configurações:
  • com SET function_json_value_return_type_allow_nullable = true, NULL será retornado. Se o valor for de tipo complexo (como: struct, array, map), uma string vazia será retornada por padrão.
  • com SET function_json_value_return_type_allow_complex = true, o valor complexo será retornado.
Sintaxe
Argumentos
  • json — Uma string com JSON válido. String
  • path — Uma string que representa o caminho. String
Valor retornado Retorna o valor escalar JSON extraído como string, ou uma string vazia se o valor não existir. String Exemplos Exemplo de uso
Query
Response

dynamicElement

Introduzido em: v24.1.0 Extrai de uma coluna Dynamic uma coluna do tipo especificado. Esta função permite extrair valores de um tipo específico de uma coluna Dynamic. Se uma linha contiver um valor do tipo solicitado, ela retornará esse valor. Se a linha contiver um tipo diferente ou NULL, ela retornará NULL para tipos escalares ou um array vazio para tipos de array. Sintaxe
Argumentos
  • dynamic — Coluna Dynamic da qual será feita a extração. Dynamic
  • type_name — O nome do tipo de variante a ser extraído (por exemplo, ‘String’, ‘Int64’, ‘Array(Int64)’).
Valor retornado Retorna valores do tipo especificado da coluna Dynamic. Retorna NULL para tipos não correspondentes (ou um array vazio para tipos array). Any Exemplos Extração de diferentes tipos da coluna Dynamic
Query
Response

dynamicType

Introduzido em: v24.1.0 Retorna o nome do tipo de variante para cada linha de uma coluna Dynamic. Para linhas que contêm NULL, a função retorna ‘None’. Para todas as outras linhas, retorna o tipo de dado real armazenado naquela linha da coluna Dynamic (por exemplo, ‘Int64’, ‘String’, ‘Array(Int64)’). Sintaxe
Argumentos
  • dynamic — Coluna Dynamic a ser inspecionada. Dynamic
Valor retornado Retorna o nome do tipo do valor armazenado em cada linha, ou ‘None’ para valores NULL. String Exemplos Inspecionando os tipos na coluna Dynamic
Query
Response

isDynamicElementInSharedData

Introduzido em: v24.1.0 Retorna true para linhas em uma coluna Dynamic que são armazenadas em um formato variante compartilhado, em vez de subcolunas separadas. Quando uma coluna Dynamic tem um limite max_types, os valores que excedem esse limite são armazenados em um formato binário compartilhado em vez de serem separados em subcolunas tipadas individuais. Esta função identifica quais linhas são armazenadas nesse formato compartilhado. Sintaxe
Argumentos
  • dynamic — coluna do tipo Dynamic a ser inspecionada. Dynamic
Valor retornado Retorna true se o valor estiver armazenado no formato Variante compartilhado, false se estiver armazenado como uma subcoluna separada ou for NULL. Bool Exemplos Verificando o formato de armazenamento em uma coluna Dynamic com o limite de max_types
Query
Response

isValidJSON

Introduzido em: v20.1.0 Verifica se a string informada é um JSON válido. Sintaxe
Argumentos
  • json — string JSON a ser validada String
Valor retornado Retorna 1 se a string for um JSON válido; caso contrário, 0. UInt8 Exemplos Exemplo de uso
Query
Response
Usando inteiros para acessar arrays JSON e objetos JSON
Query
Response

prettyPrintJSON

Introduzido em: v26.4.0 Retorna uma versão formatada de uma string JSON, com quebras de linha e recuo com espaços. Sintaxe
Argumentos
  • json — Uma string JSON válida para formatar. String
  • indent — Número de espaços por nível de indentação. Padrão: 4. Máx.: 32 UInt*
Valor retornado Uma string JSON formatada de forma legível. String Exemplos Objeto simples
Query
Response
Recuo personalizado
Query
Response

simpleJSONExtractBool

Introduzido em: v21.4.0 Interpreta um valor true/false a partir do valor do campo chamado field_name. O resultado é UInt8. Sintaxe
Aliases: visitParamExtractBool Argumentos
  • json — O JSON em que o campo será procurado. String
  • field_name — O nome do campo a ser procurado. const String
Valor retornado Retorna 1 se o valor do campo for true; caso contrário, retorna 0. Isso significa que esta função retornará 0, inclusive — e não apenas — nos seguintes casos:
  • Se o campo não existir.
  • Se o campo contiver true como string, por exemplo: {"field":"true"}.
  • Se o campo contiver 1 como valor numérico. UInt8
Exemplos Exemplo de uso
Query
Response

simpleJSONExtractFloat

Introduzido na versão: v21.4.0 Analisa um Float64 a partir do valor do campo chamado field_name. Se field_name for um campo do tipo string, ele tentará analisar um número a partir do início da string. Se o campo não existir, ou existir mas não contiver um número, retorna 0. Sintaxe
Aliases: visitParamExtractFloat Argumentos
  • json — O JSON no qual o campo é procurado. String
  • field_name — O nome do campo a ser procurado. const String
Valor retornado Retorna o número interpretado do campo, se ele existir e contiver um número; caso contrário, 0. Float64 Exemplos Exemplo de uso
Query
Response

simpleJSONExtractInt

Introduzido em: v21.4.0 Extrai um Int64 do valor do campo chamado field_name. Se field_name for um campo do tipo string, tenta interpretar um número a partir do início da string. Se o campo não existir, ou existir mas não contiver um número, retorna 0. Sintaxe
Aliases: visitParamExtractInt Argumentos
  • json — O JSON no qual o campo é procurado. String
  • field_name — O nome do campo a ser procurado. const String
Valor retornado Retorna o número extraído do campo, se ele existir e contiver um número; caso contrário, 0 Int64 Exemplos Exemplo de uso
Query
Response

simpleJSONExtractRaw

Introduzido em: v21.4.0 Retorna o valor do campo field_name como uma String, incluindo os separadores. Sintaxe
Aliases: visitParamExtractRaw Argumentos
  • json — O JSON no qual o campo é procurado. String
  • field_name — O nome do campo a ser procurado. const String
Valor retornado Retorna o valor do campo como string, incluindo os separadores se o campo existir, ou uma string vazia caso contrário String Exemplos Exemplo de uso
Query
Response

simpleJSONExtractString

Introduzido em: v21.4.0 Extrai uma String entre aspas duplas do valor do campo chamado field_name. Detalhes de implementação No momento, não há suporte a pontos de código no formato \uXXXX\uYYYY que não pertençam ao plano multilíngue básico (eles são convertidos para CESU-8 em vez de UTF-8). Sintaxe
Aliases: visitParamExtractString Argumentos
  • json — O JSON no qual o campo é pesquisado. String
  • field_name — O nome do campo a ser pesquisado. const String
Valor retornado Retorna o valor de um campo como string, sem caracteres de escape, incluindo separadores. Uma string vazia é retornada se o campo não contiver uma string entre aspas duplas, se o processamento de remoção de escape falhar ou se o campo não existir String Exemplos Exemplo de uso
Query
Response

simpleJSONExtractUInt

Introduzido em: v21.4.0 Extrai UInt64 do valor do campo chamado field_name. Se field_name for um campo do tipo String, tenta analisar um número a partir do início da string. Se o campo não existir, ou existir mas não contiver um número, retorna 0. Sintaxe
Aliases: visitParamExtractUInt Argumentos
  • json — O JSON no qual o campo é pesquisado. String
  • field_name — O nome do campo a ser pesquisado. const String
Valor retornado Retorna o número analisado do campo, se ele existir e contiver um número; caso contrário, 0 UInt64 Exemplos Exemplo de uso
Query
Response

simpleJSONHas

Introduzido em: v21.4.0 Verifica se há um campo chamado field_name. Sintaxe
Aliases: visitParamHas Argumentos
  • json — O JSON em que o campo é pesquisado. String
  • field_name — O nome do campo a ser pesquisado. const String
Valor retornado Retorna 1 se o campo existir; caso contrário, 0 UInt8 Exemplos Exemplo de uso
Query
Response

toJSONString

Introduzido em: v21.7.0 Serializa um valor em sua representação JSON. Há suporte para vários tipos de dados e estruturas aninhadas. inteiros de 64 bits ou maiores (como UInt64 ou Int128) são colocados entre aspas por padrão. output_format_json_quote_64bit_integers controla esse comportamento. Os valores especiais NaN e inf são substituídos por null. Habilite a configuração output_format_json_quote_denormals para exibi-los. Ao serializar um valor Enum, a função retorna seu nome. Veja também: Sintaxe
Argumentos
  • value — Valor a ser serializado. O valor pode ser de qualquer tipo de dado. Any
Valor retornado Retorna a representação JSON do valor. String Exemplos Serialização de map
Query
Response
Valores especiais
Query
Response
Última modificação em 2 de julho de 2026