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.
JsonSet() modifica uma string contendo dados JSON (JavaScript Object Notation). Ele pode definir ou inserir um valor JSON com o novo local especificado pelo caminho. Os dados devem ser JSON válidos, mas podem conter espaços extras ou novas linhas.
Sintaxe:
value JsonSet(json, path, value)
Tipo de dados de retorno: dual
Argumentos
Argumento
Descrição
json
String contendo dados JSON.
path
O caminho deve ser especificado de acordo com a RFC 6901. Isso permite o acúmulo de propriedades dentro de dados JSON sem usar funções complexas de substring ou índice e concatenação.
value
O novo valor da string em formato JSON.
Exemplo: Expressões de gráfico válidas e inválidas
Exemplo
Resultado
JsonSet( '{}','/a','"b"' )
Retorna {"a":"b"}
JsonSet( '[]','/0','"x"' )
Retorna ["x"]
JsonSet( '"abc"','','123' )
Retorna 123
JsonSet( '"abc"','/x','123' )
Retorna null. O caminho não aponta para uma parte válida dos dados JSON.
JsonSet( '{"a":{"b":"c"}}','a/b','"x"' )
Retorna null. O caminho é inválido.
JsonSet( '{"a":"b"}','/a','abc' )
Retorna null. O valor não é um JSON válido. Uma string deve estar entre aspas.
Exemplo - Fundamentos de JsonSet
Visão geral
Os dados JSON são recebidos como uma string de texto em uma única linha. Você deseja atualizar o preço do item e o preço total do pedido adequadamente.
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.
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esse campo como uma dimensão:
OrderDetails
Crie a seguinte medida:
JsonSet(JsonSet(OrderDetails,'/items/price',1100),'/total_price',2200) para definir o preço para 1100 e o preço total para 2200 usando o caminho correto para as respectivas chaves na string JSON.
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!