Early Access: The content on this website is provided for informational purposes only in connection with pre-General Availability Qlik Products. All content is subject to change and is provided without warranty.
IsJson() testa se uma string especificada contém dados JSON (JavaScript Object Notation) válidos. Você também pode validar um tipo de dados JSON específico.
Sintaxe:
value IsJson(json [, type])
Tipo de dados de retorno: dual
Argumentos
Argumento
Descrição
json
String a ser testada. Pode conter espaços extras ou novas linhas.
type
Argumento opcional que especifica o tipo de dados JSON a ser testado.
'value' (padrão)
'object'
'array'
'string'
'number'
'Boolean'
'null'
Exemplo: Expressões de gráfico válidas e inválidas
Exemplo
Resultado
IsJson( 'null' )
Retorna -1 (true)
IsJson( '"abc"', 'value' )
Retorna -1 (true)
IsJson( '"abc"', 'string' )
Retorna -1 (true)
IsJson( 123, 'number' )
Retorna -1 (true)
IsJson( 'text' )
Retorna 0 (false), 'text' não é um valor JSON válido
IsJson( '"text"', 'number' )
Retorna 0 (false), '"text"' não é um número JSON válido
IsJson( '"text"', 'text' )
Retorna 0 (false), 'text' não é um tipo JSON válido
Exemplo - Fundamentos de IsJson
Visão geral
Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.
O script de carregamento contém:
Um conjunto de dados que é carregado em uma tabela de dados denominada Example.
Um campo na tabela de dados chamado API_Response.
Um campo derivado chamado ID. Esse campo usa a função Rec() para enumerar os registros de entrada.
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esse campo como uma dimensão:
OrderDetails
Crie as seguintes medidas:
IsJson( OrderDetails) para calcular se os valores em OrderDetails são JSON válidos.
IsJson( JsonGet ( OrderDetails, '/items/price' ), 'number' ), usando a função JsonGet, ele recupera o texto JSON da chave price e valida que o valor de price é um número.
Se você encontrar algum problema com esta página ou seu conteúdo - um erro de digitação, uma etapa ausente ou um erro técnico - informe-nos como podemos melhorar!