Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
✅ Поток событий Azure Stream Analytics ✅ Fabric
JSON_PARSE преобразует строку в формат JSON в запись, доступ к которую можно получить и запросить. Используйте эту функцию, если событие содержит вложенный объект JSON, сериализованный в виде строки, например data свойство в событии изменения потока событий Fabric.
Зачем использовать JSON_PARSE
Многие сценарии потоковой передачи, особенно интеграции Eventstream, содержат события, в которых свойство является документом JSON, сериализованным в виде строки. Во время десериализации этих вложенных полезных данных обрабатываются как строки, поэтому вы не можете напрямую получить доступ к их свойствам в виде объектов JSON. Используется JSON_PARSE для преобразования json в структурированную запись, свойства которой можно получить к данным и запросам.
Syntax
JSON_PARSE ( jsonString )
Аргументы
| Имя | Тип | Описание |
|---|---|---|
jsonString |
nvarchar(max) |
Допустимый объект JSON, сериализованный в виде строки. |
Тип возвращаемого значения
Возвращает проанализированный объект JSON в качестве значения типа record.
Обработка ошибок
JSON_PARSE — это неисключающая функция. Если синтаксический анализ не может быть выполнен, функция возвращается NULL вместо сбоя выполнения запроса.
JSON_PARSE возвращается NULL , когда:
- Входное выражение не является поддерживаемым строковым значением.
- Указанная строка не является допустимой JSON.
- Другой сбой преобразования JSON возникает.
Примеры
В примерах используется следующее входное событие.
current Свойства old содержат объекты JSON, сериализованные в виде строк.
{
"eventrow": {
"old": "{\"SalesOrderID\":\"65191\",\"SalesOrderDetailID\":\"89090\"}",
"current": "{\"SalesOrderID\":\"65191\",\"SalesOrderDetailID\":\"89090\",\"ProductName\":\"Touring-2000 Blue, 54\"}"
}
}
Анализ вложенной строки JSON
Следующий запрос преобразует строку JSON в eventrow.old запись:
SELECT
JSON_PARSE(eventrow.old) AS ParsedOldRow
INTO Output
FROM Input
Доступ к свойствам в синтаксическом анализе записи
Следующий запрос анализирует eventrow.current и обращается к свойствам в возвращаемой записи с помощью нотации точек:
WITH ParsedEvents AS
(
SELECT JSON_PARSE(eventrow.current) AS ParsedCurrent
FROM Input
)
SELECT
ParsedCurrent.SalesOrderID,
ParsedCurrent.ProductName
FROM ParsedEvents