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() проверяет, содержит ли указанная строка допустимые данные JSON (JavaScript Object Notation). Также можно проверить конкретный тип данных JSON.
Синтаксис:
value IsJson(json [, type])
Возвращаемые типы данных: двойное значение
Аргументы
Аргумент
Описание
json
Тестируемая строка. Может содержать дополнительные пробелы и символы новой строки.
type
Дополнительный аргумент, задающий тип данных JSON для тестирования.
'value' (по умолчанию)
'object'
'array'
'строка'
'number'
'Boolean'
'null'
Пример. Допустимые и недопустимые выражения диаграммы
Пример
Результат
IsJson( 'null' )
Возвращает -1 (true)
IsJson( '"abc"', 'value' )
Возвращает -1 (true)
IsJson( '"abc"', 'string' )
Возвращает -1 (true)
IsJson( 123, 'number' )
Возвращает -1 (true)
IsJson( 'text' )
Возвращает 0 (false), 'text' не является допустимым значением JSON
IsJson( '"text"', 'number' )
Возвращает 0 (false), '"text"' не является допустимым числом JSON
IsJson( '"text"', 'text' )
Возвращает 0 (false), 'text' не является допустимым типом JSON
Пример. Основы использования функции IsJson
Обзор
Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки в новый раздел.
Скрипт загрузки содержит следующее:
Набор данных, который загружается в таблицу данных под именем Example.
Одно поле в таблице данных под именем API_Response.
Производное поле называется ID. Это поле использует функцию Rec() для перечисления входных записей.
Загрузите данные и откройте лист. Создайте новую таблицу и добавьте это поле как измерение:
OrderDetails
Создайте следующие меры:
IsJson( OrderDetails), чтобы вычислить, являются ли значения в OrderDetails допустимой строкой JSON.
IsJson( JsonGet ( OrderDetails, '/items/price' ), 'number' ), используя функцию JsonGet, получает текстовую строку JSON для ключа price и проверяет, что значение price является числом.
Если вы обнаружили какую-либо проблему на этой странице и с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом, чтобы мы смогли ее исправить!