Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
✅Azure Stream Analytics ✅ Fabric Eventstream
JSON_PARSE converte uma string formatada em JSON num registo ao qual podes aceder e consultar. Use esta função quando um evento contém um objeto JSON aninhado serializado como uma string, como a data propriedade num evento de alteração do Fabric Eventstream.
Por que usar JSON_PARSE
Muitos cenários de streaming, particularmente integrações Eventstream, contêm eventos em que uma propriedade é um documento JSON serializado como uma cadeia. Durante a desserialização de eventos, estas cargas úteis aninhadas são tratadas como strings, pelo que não se pode aceder diretamente às suas propriedades como objetos JSON. Use JSON_PARSE para converter JSON codificado em strings num registo estruturado cujas propriedades pode aceder e consultar.
Sintaxe
JSON_PARSE ( jsonString )
Arguments
| Name | Tipo | Description |
|---|---|---|
jsonString |
nvarchar(max) |
Um objeto JSON válido serializado como uma string. |
Tipo de retorno
Devolve o objeto JSON analisado como um valor do tipo record.
Tratamento de erros
JSON_PARSE é uma função que não é de lançamento. Se a análise não puder ser concluída, a função devolve NULL em vez de falhar na execução da consulta.
JSON_PARSE Retorna NULL quando:
- A expressão de entrada não é um valor de string suportado.
- A cadeia fornecida não é JSON válida.
- Ocorre outra falha na conversão JSON.
Examples
Os exemplos usam o seguinte evento de entrada. As old propriedades e current contêm objetos JSON serializados como strings.
{
"eventrow": {
"old": "{\"SalesOrderID\":\"65191\",\"SalesOrderDetailID\":\"89090\"}",
"current": "{\"SalesOrderID\":\"65191\",\"SalesOrderDetailID\":\"89090\",\"ProductName\":\"Touring-2000 Blue, 54\"}"
}
}
Analise uma string JSON aninhada
A consulta seguinte converte a cadeia JSON num eventrow.old registo:
SELECT
JSON_PARSE(eventrow.old) AS ParsedOldRow
INTO Output
FROM Input
Aceder a propriedades num registo analisado
A consulta seguinte analisa eventrow.current e acede às propriedades do registo devolvido usando notação de pontos:
WITH ParsedEvents AS
(
SELECT JSON_PARSE(eventrow.current) AS ParsedCurrent
FROM Input
)
SELECT
ParsedCurrent.SalesOrderID,
ParsedCurrent.ProductName
FROM ParsedEvents