Функции JSON
Типы JSON-функций
Существует два набора функций для разбора JSON:
simpleJSON*(visitParam*) — предназначены для очень быстрого разбора ограниченного подмножества JSON.JSONExtract*— предназначены для разбора обычного JSON.
Функции simpleJSON (visitParam)
В ClickHouse есть специальные функции для работы с упрощённым JSON. Все эти JSON-функции основаны на строгих предположениях о том, каким может быть JSON. Они выполняют минимум операций для максимально быстрого решения задачи.
Делаются следующие предположения:
- Имя поля (аргумент функции) должно быть константой.
- Имя поля должно быть канонически закодировано в JSON. Например:
simpleJSONHas('{"abc":"def"}', 'abc') = 1, ноsimpleJSONHas('{"\\u0061\\u0062\\u0063":"def"}', 'abc') = 0 - Поля ищутся на любом уровне вложенности без разбора. Если существует несколько совпадающих полей, используется первое вхождение.
- JSON не содержит пробельных символов вне строковых литералов.
Функции JSONExtract
Эти функции основаны на библиотеке simdjson и предназначены для более сложных требований к разбору JSON.
Регистронезависимые функции JSONExtract
Эти функции выполняют регистронезависимое сопоставление ключей ASCII при извлечении значений из JSON-объектов. Они работают идентично своим регистрозависимым аналогам, за исключением того, что ключи объектов сопоставляются без учёта регистра. Когда несколько ключей совпадают с разным регистром, возвращается первое совпадение.
Эти функции могут работать медленнее, чем их регистрозависимые аналоги, поэтому по возможности используйте обычные функции JSONExtract.
JSONAllPaths
Введена в версии: v24.8
Возвращает список всех путей, сохранённых в каждой строке столбца JSON.
Синтаксис
Аргументы
json— столбец JSON.JSON
Возвращаемое значение
Возвращает массив всех путей в столбце JSON. Array(String)
Примеры
Пример использования
JSONAllPathsWithTypes
Введена в версии: v24.8
Возвращает список всех путей и их типов данных, хранящихся в каждой строке столбца JSON.
Синтаксис
Аргументы
json— столбец JSON.JSON
Возвращаемое значение
Возвращает словарь всех путей и их типов данных в столбце JSON. Map(String, String)
Примеры
Пример использования
JSONArrayLength
Введена в версии: v23.2
Возвращает количество элементов в самом внешнем массиве JSON.
Функция возвращает NULL, если входная строка JSON невалидна.
Синтаксис
Псевдонимы: JSON_ARRAY_LENGTH
Аргументы
json— строка с валидным JSON.String
Возвращаемое значение
Возвращает количество элементов массива, если json является валидной строкой массива JSON, в противном случае возвращает NULL. Nullable(UInt64)
Примеры
Пример использования
JSONDynamicPaths
Введено в версии: v24.8
Возвращает список динамических путей, которые хранятся как отдельные подстолбцы в столбце JSON.
Синтаксис
Аргументы
json— столбец JSON.JSON
Возвращаемое значение
Возвращает массив динамических путей в столбце JSON. Array(String)
Примеры
Пример использования
JSONDynamicPathsWithTypes
Введена в версии: v24.8
Возвращает список динамических путей, которые хранятся как отдельные подстолбцы, и их типы для каждой строки в столбце JSON.
Синтаксис
Аргументы
json— столбец JSON.JSON
Возвращаемое значение
Возвращает словарь динамических путей и их типов данных в столбце JSON. Map(String, String)
Примеры
Пример использования
JSONExtract
Введена в версии: v19.14
Разбирает JSON и извлекает значение с заданным типом данных ClickHouse.
Синтаксис
Аргументы
json— строка JSON для разбора.Stringreturn_type— возвращаемый тип данных ClickHouse.Stringindices_or_keys— список из нуля или более аргументов, каждый из которых может быть строкой или целым числом.Stringили(U)Int*
Возвращаемое значение
Возвращает значение указанного типа данных ClickHouse, если это возможно, иначе возвращает значение по умолчанию для этого типа.
Примеры
Пример использования
JSONExtractArrayRaw
Введена в версии: v20.1
Возвращает массив с элементами JSON-массива, каждый из которых представлен в виде непарсенной строки.
Синтаксис
Аргументы
json— JSON-строка для парсинга.Stringindices_or_keys— Список из нуля или более аргументов, каждый из которых может быть строкой или целым числом.Stringили(U)Int*
Возвращаемое значение
Возвращает массив строк с элементами JSON-массива. Если указанная часть не является массивом или не существует, возвращается пустой массив. Array(String)
Примеры
Пример использования
JSONExtractArrayRawCaseInsensitive
Введена в версии: v25.8
Возвращает массив элементов JSON-массива, каждый из которых представлен в виде необработанной строки, с использованием регистронезависимого сопоставления ключей. Эта функция аналогична JSONExtractArrayRaw.
Синтаксис
Аргументы
json— JSON-строка для парсингаStringindices_or_keys— Необязательный параметр. Индексы или ключи для навигации к массиву. Ключи используют регистронезависимое сопоставлениеStringили(U)Int*
Возвращаемое значение
Возвращает массив необработанных JSON-строк. Array(String)
Примеры
базовый пример
JSONExtractBool
Добавлена в версии: v20.1
Парсит JSON и извлекает значение типа Bool.
Синтаксис
Аргументы
json— JSON-строка для парсинга.Stringindices_or_keys— список из нуля или более аргументов, каждый из которых может быть строкой или целым числом.Stringили(U)Int*
Возвращаемое значение
Возвращает значение Bool, если оно существует, в противном случае возвращает 0. Bool
Примеры
Пример использования
JSONExtractBoolCaseInsensitive
Введена в версии: v25.8
Разбирает JSON и извлекает логическое значение, используя регистронезависимое сопоставление ключей. Эта функция аналогична JSONExtractBool.
Синтаксис
Аргументы
json— строка JSON для разбораStringindices_or_keys— необязательный параметр. Индексы или ключи для навигации к полю. Ключи используют регистронезависимое сопоставлениеStringили(U)Int*
Возвращаемое значение
Возвращает извлечённое логическое значение (1 для true, 0 для false), 0 если значение не найдено. UInt8
Примеры
Базовый пример
JSONExtractCaseInsensitive
Введена в версии: v25.8
Разбирает JSON и извлекает значение заданного типа данных ClickHouse с использованием сопоставления ключей без учёта регистра. Эта функция аналогична JSONExtract.
Синтаксис
Аргументы
json— строка JSON для разбораStringindices_or_keys— необязательный параметр. Индексы или ключи для навигации к полю. Ключи сопоставляются без учёта регистраStringили(U)Int*return_type— тип данных ClickHouse для извлеченияString
Возвращаемое значение
Возвращает извлечённое значение в указанном типе данных. Any
Примеры
int_type
array_type
JSONExtractFloat
Введена в версии: v20.1
Разбирает JSON и извлекает значение типа Float.
Синтаксис
Аргументы
json— строка JSON для разбора.Stringindices_or_keys— список из нуля или более аргументов, каждый из которых может быть строкой или целым числом.Stringили(U)Int*
Возвращаемое значение
Возвращает значение типа Float, если оно существует, в противном случае возвращает 0. Float64
Примеры
Пример использования
JSONExtractFloatCaseInsensitive
Введена в версии: v25.8
Разбирает JSON и извлекает значение типа Float, используя сопоставление ключей без учёта регистра. Эта функция аналогична JSONExtractFloat.
Синтаксис
Аргументы
json— строка JSON для разбораStringindices_or_keys— необязательный параметр. Индексы или ключи для навигации к полю. Ключи используют сопоставление без учёта регистраStringили(U)Int*
Возвращаемое значение
Возвращает извлечённое значение Float, 0, если значение не найдено или не может быть преобразовано. Float64
Примеры
базовый пример
JSONExtractInt
Введена в версии: v20.1
Разбирает JSON и извлекает значение типа Int.
Синтаксис
Аргументы
json— JSON-строка для разбора.Stringindices_or_keys— список из нуля или более аргументов, каждый из которых может быть строкой или целым числом.Stringили(U)Int*
Возвращаемое значение
Возвращает значение типа Int, если оно существует, в противном случае возвращает 0. Int64
Примеры
Пример использования
JSONExtractIntCaseInsensitive
Введена в версии: v25.8
Разбирает JSON и извлекает значение типа Int с использованием сопоставления ключей без учёта регистра. Эта функция аналогична JSONExtractInt.
Синтаксис
Аргументы
json— строка JSON для разбораStringindices_or_keys— необязательный параметр. Индексы или ключи для навигации к полю. Ключи сопоставляются без учёта регистраStringили(U)Int*
Возвращаемое значение
Возвращает извлечённое значение Int, 0 если значение не найдено или не может быть преобразовано. Int64
Примеры
базовый пример
вложенная структура
JSONExtractKeys
Введена в версии: v21.11
Разбирает JSON-строку и извлекает ключи.
Синтаксис
Аргументы
json— JSON-строка для разбора.Stringindices_or_keys— Список из нуля или более аргументов, каждый из которых может быть строкой или целым числом.Stringили(U)Int*
Возвращаемое значение
Возвращает массив с ключами JSON-объекта. Array(String)
Примеры
Пример использования
JSONExtractKeysAndValues
Введена в версии: v20.1
Извлекает пары ключ-значение из JSON, где значения имеют заданный тип данных ClickHouse.
Синтаксис
Аргументы
json— строка JSON для парсинга.Stringvalue_type— тип данных ClickHouse для значений.Stringindices_or_keys— список из нуля или более аргументов, каждый из которых может быть строкой или целым числом.Stringили(U)Int*
Возвращаемое значение
Возвращает массив кортежей с разобранными парами ключ-значение. Array(Tuple(String, value_type))
Примеры
Пример использования
JSONExtractKeysAndValuesCaseInsensitive
Введена в версии: v25.8
Извлекает пары ключ-значение из JSON с использованием регистронезависимого сопоставления ключей. Функция аналогична JSONExtractKeysAndValues.
Синтаксис
Аргументы
json— строка JSON для парсингаStringindices_or_keys— необязательный параметр. Индексы или ключи для навигации к объекту. Ключи сопоставляются без учета регистраStringили(U)Int*value_type— тип данных ClickHouse для значенийString
Возвращаемое значение
Возвращает массив кортежей, содержащих пары ключ-значение. Array(Tuple(String, T))
Примеры
basic
JSONExtractKeysAndValuesRaw
Введена в версии: v20.4
Возвращает массив кортежей с ключами и значениями из JSON-объекта. Все значения представлены в виде непарсированных строк.
Синтаксис
Аргументы
json— JSON-строка для парсинга.Stringindices_or_keys— Список из нуля или более аргументов, каждый из которых может быть строкой или целым числом.Stringили(U)Int*
Возвращаемое значение
Возвращает массив кортежей с парами ключ-значение, где значения представлены в виде непарсированных строк. Array(Tuple(String, String))
Примеры
Пример использования
JSONExtractKeysAndValuesRawCaseInsensitive
Введена в версии: v25.8
Извлекает необработанные пары ключ-значение из JSON с использованием регистронезависимого сопоставления ключей. Эта функция аналогична JSONExtractKeysAndValuesRaw.
Синтаксис
Аргументы
json— строка JSON для парсингаStringindices_or_keys— необязательный параметр. Индексы или ключи для навигации к объекту. Ключи используют регистронезависимое сопоставлениеStringили(U)Int*
Возвращаемое значение
Возвращает массив кортежей, содержащих пары ключ-значение в виде необработанных строк. Array(Tuple(String, String))
Примеры
базовый пример
JSONExtractKeysCaseInsensitive
Введена в версии: v25.8
Разбирает JSON-строку и извлекает ключи с использованием регистронезависимого сопоставления для навигации по вложенным объектам. Функция аналогична JSONExtractKeys.
Синтаксис
Аргументы
json— JSON-строка для разбораStringindices_or_keys— Необязательный параметр. Индексы или ключи для навигации к объекту. Ключи сопоставляются без учета регистраStringили(U)Int*
Возвращаемое значение
Возвращает массив ключей из JSON-объекта. Array(String)
Примеры
базовый пример
вложенный объект
JSONExtractRaw
Введена в версии: v20.1
Возвращает часть JSON в виде неразобранной строки.
Синтаксис
Аргументы
json— строка JSON для разбора.Stringindices_or_keys— список из нуля или более аргументов, каждый из которых может быть строкой или целым числом.Stringили(U)Int*
Возвращаемое значение
Возвращает часть JSON в виде неразобранной строки. Если часть не существует или имеет неверный тип, будет возвращена пустая строка. String
Примеры
Пример использования
JSONExtractRawCaseInsensitive
Добавлена в версии: v25.8
Возвращает часть JSON в виде необработанной строки с использованием регистронезависимого сопоставления ключей. Эта функция аналогична JSONExtractRaw.
Синтаксис
Аргументы
json— строка JSON для парсинга.Stringindices_or_keys— необязательный параметр. Индексы или ключи для навигации к полю. Ключи используют регистронезависимое сопоставление.Stringили(U)Int*
Возвращаемое значение
Возвращает необработанную строку JSON извлечённого элемента. String
Примеры
объект
JSONExtractString
Введена в версии: v20.1
Парсит JSON и извлекает значение типа String.
Синтаксис
Аргументы
json— JSON-строка для парсинга.Stringindices_or_keys— список из нуля или более аргументов, каждый из которых может быть строкой или целым числом.Stringили(U)Int*
Возвращаемое значение
Возвращает значение типа String, если оно существует, в противном случае возвращает пустую строку. String
Примеры
Пример использования
JSONExtractStringCaseInsensitive
Введена в версии: v25.8
Разбирает JSON и извлекает строку с использованием сопоставления ключей без учёта регистра. Функция аналогична JSONExtractString.
Синтаксис
Аргументы
json— строка JSON для разбораStringindices_or_keys— необязательный параметр. Индексы или ключи для навигации к полю. Ключи сопоставляются без учёта регистраStringили(U)Int*
Возвращаемое значение
Возвращает извлечённое строковое значение или пустую строку, если значение не найдено. String
Примеры
базовый пример
вложенная структура
JSONExtractUInt
Добавлено в версии: v20.1
Разбирает JSON и извлекает значение типа UInt.
Синтаксис
Аргументы
json— строка JSON для разбора.Stringindices_or_keys— список из нуля или более аргументов, каждый из которых может быть строкой или целым числом.Stringили(U)Int*
Возвращаемое значение
Возвращает значение типа UInt, если оно существует, в противном случае возвращает 0. UInt64
Примеры
Пример использования
JSONExtractUIntCaseInsensitive
Добавлено в версии: v25.8
Разбирает JSON и извлекает значение типа UInt с использованием сопоставления ключей без учёта регистра. Функция аналогична JSONExtractUInt.
Синтаксис
Аргументы
json— строка JSON для разбора.Stringindices_or_keys— необязательный параметр. Индексы или ключи для навигации к полю. Ключи сопоставляются без учёта регистра.Stringили(U)Int*
Возвращаемое значение
Возвращает извлечённое значение UInt, либо 0, если значение не найдено или не может быть преобразовано. UInt64
Примеры
базовый пример
JSONHas
Введена в версии: v20.1
Проверяет наличие указанного значения (значений) в JSON-документе.
Синтаксис
Аргументы
json— JSON-строка для парсингаString[ ,indices_or_keys, ...]— Список из нуля или более аргументов.Stringили(U)Int*
Возвращаемое значение
Возвращает 1, если значение присутст��ует в json, иначе 0 UInt8
Примеры
Пример использования
JSONLength
Введена в версии: v20.1
Возвращает длину JSON-массива или JSON-объекта.
Если значение не существует или имеет неправильный тип, возвращается 0.
Синтаксис
Аргументы
json— JSON-строка для парсингаString[, indices_or_keys, ...]— Необязательный параметр. Список из нуля или более аргументов.Stringили(U)Int8/16/32/64
Возвращаемое значение
Возвращает длину JSON-массива или JSON-объекта. Если значение не существует или имеет неправильный тип, возвращается 0. UInt64
Примеры
Пример использования
JSONMergePatch
Introduced in: v23.10
Возвращает строку объединённого JSON-объекта, сформированного путём слияния нескольких JSON-объектов.
Синт��ксис
Псевдонимы: jsonMergePatch
Аргументы
json1[, json2, ...]— одна или несколько строк с корректным JSON.String
Возвращаемое значение
Возвращает строку объединённого JSON-объекта, если строки JSON-объектов корректны. String
Примеры
Пример использования
JSONSharedDataPaths
Введена в версии: v24.8
Возвращает список путей, хранящихся в структуре разделяемых данных столбца JSON.
Синтаксис
Аргументы
json— столбец JSON.JSON
Возвращаемое значение
Возвращает массив путей, хранящихся в структуре разделяемых данных столбца JSON. Array(String)
Примеры
Пример использования
JSONSharedDataPathsWithTypes
Введена в версии: v24.8
Возвращает список путей, хранящихся в общей структуре данных, и их типы для каж��ой строки столбца JSON.
Синтаксис
Аргументы
json— столбец JSON.JSON
Возвращаемое значение
Возвращает словарь путей, хранящихся в общей структуре данных, и их типов данных в столбце JSON. Map(String, String)
Примеры
Пример использования
JSONType
Введена в версии: v20.1
Возвращает тип значения JSON. Е��ли значение не существует, возвращается Null=0.
Синтаксис
Аргументы
json— JSON-строка для парсингаStringjson[, indices_or_keys, ...]— Список из нуля или более аргументов, каждый из которых может быть строкой или целым числом.Stringили(U)Int8/16/32/64
Возвращаемое значение
Возвращает тип значения JSON в виде строки, в противном случае, если значение не существует, возвращается Null=0 Enum
Примеры
Пример использования
JSON_EXISTS
Введена в версии: v21.8
Если значение существует в JSON-документе, возвращается 1.
Если значение не существует, возвращается 0.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает 1, если значение существует в JSON-документе, иначе 0. UInt8
Примеры
Пример использования
JSON_QUERY
Введена в версии: v21.8
Разбирает JSON и извлекает значение в виде массива JSON или объекта JSON. Если значение не существует, возвращается пустая строка.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает извлечённый массив JSON или объект JSON в виде строки, или пустую строку, если значение не существует. String
Примеры
Пример использования
JSON_VALUE
Введена в версии: v21.11
Разбирает JSON и извлекает значение как JSON-скаляр. Если значение не существует, по умолчанию возвращается пустая строка.
Работа этой функции управляется следующими настройками:
- при установке
function_json_value_return_type_allow_nullable=trueбудет возвращено значениеNULL. Если значение имеет сложный тип (например: struct, array, map), по умолчанию возвращается пустая строка. - при установке
function_json_value_return_type_allow_complex=trueбудет возвращено сложное значение.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает извлеченный JSON-скаляр в виде строки или пустую строку, если значение не существует. String
Примеры
Пример использования
dynamicElement
Введена в версии: v24.1
Извлекает столбец указанного типа из столбца Dynamic.
Эта функция позволяет извлекать значения определённого типа из столбца Dynamic. Если строка содержит значение запрашиваемого типа, возвращается это значение. Если строка содержит значение другого типа или NULL, возвращается NULL для скалярных типов или пустой массив для массивов.
Синтаксис
Аргументы
dynamic— столбец Dynamic, из которого выполняется извлечение.Dynamictype_name— имя типа для извлечения (например, 'String', 'Int64', 'Array(Int64)').
Возвращаемое значение
Возвращает значения указанного типа из столбца Dynamic. Для несовпадающих типов возвращается NULL (или пустой массив для массивов). Any
Примеры
Извлечение различных типов из сто��бца Dynamic
dynamicType
Введена в версии: v24.1
Возвращает имя типа варианта для каждой строки столбца Dynamic.
Для строк, содержащих NULL, функция возвращает 'None'. Для всех остальных строк возвращается фактический тип данных, хранящийся в этой строке столбца Dynamic (например, 'Int64', 'String', 'Array(Int64)').
Синтаксис
Аргументы
dynamic— столбец Dynamic для анализа.Dynamic
Возвращаемое значение
Возвращает имя типа значения, хранящегося в каждой строке, или 'None' для значений NULL. String
Примеры
Анализ типов в столбце Dynamic
isDynamicElementInSharedData
Введена в версии: v24.1
Возвращает true для строк в столбце типа Dynamic, которые хранятся в общем формате вариантов, а не в виде отдельных подстолбцов.
Когда столбец типа Dynamic имеет ограничение max_types, значения, превышающие этот лимит, сохраняются в общем бинарном формате
вместо разделения на отдельные типизированные подстолбцы. Эта функция определяет, какие строки хранятся в этом общем формате.
Синтаксис
Аргументы
dynamic— столбец типа Dynamic для проверки.Dynamic
Возвращаемое значение
Возвращает true, если значение хранится в общем формате вариантов, false, если хранится как отдельный подстолбец или является NULL. Bool
Примеры
Проверка формата хранения в столбце Dynamic с ограничением max_types
isValidJSON
Введена в версии: v20.1
Проверяет, является ли переданная строка валидным JSON.
Синтаксис
Аргументы
json— JSON-строка для валидацииString
Возвращаемое значение
Возвращает 1, если строка является валидным JSON, иначе 0. UInt8
Примеры
Пример использования
Использование целых чисел для доступа к JSON-массивам и JSON-объектам
simpleJSONExtractBool
Введена в версии: v21.4
Извлекает логическое значение true/false из поля с именем field_name.
Результат имеет тип UInt8.
Синтаксис
Псевдонимы: visitParamExtractBool
Аргументы
json— JSON, в котором выполняется поиск поля.Stringfield_name— Имя искомого поля.const String
Возвращаемое значение
Возвращает 1, если значение поля равно true, иначе 0. Это означает, что функция вернёт 0 в следующих случаях (включая, но не ограничиваясь):
- Если поле не существует.
- Если поле содержит
trueв виде строки, например:{"field":"true"}. - Если поле содержит
1в виде числового значения.UInt8
Примеры
Пример использования
simpleJSONExtractFloat
Введена в версии: v21.4
Извлекает значение типа Float64 из поля с именем field_name.
Если field_name является строковым полем, функция пытается извлечь число из начала строки.
Если поле не существует или не содержит число, возвращается 0.
Синтаксис
Псевдонимы: visitParamExtractFloat
Аргументы
json— JSON, в котором выполняется поиск поля.Stringfield_name— Имя искомого поля.const String
Возвращаемое значение
Возвращает число, извлечённое из поля, если поле существует и содержит число, в противном случае — 0. Float64
Примеры
Пример использования
simpleJSONExtractInt
Введено в версии: v21.4
Извлекает значение типа Int64 из поля с именем field_name.
Если field_name является строковым полем, функция пытается извлечь число из начала строки.
Если поле не существует или не содержит число, возвращается 0.
Синтаксис
Псевдонимы: visitParamExtractInt
Аргументы
json— JSON, в котором выполняется поиск поля.Stringfield_name— Имя искомого поля.const String
Возвращаемое значение
Возвращает число, извлечённое из поля, если поле существует и содержит число, иначе 0. Int64
Примеры
Пример использования
simpleJSONExtractRaw
Введена в версии: v21.4
Возвращает значение поля с именем field_name в виде String, включая разделители.
Синтаксис
Псевдонимы: visitParamExtractRaw
Аргументы
json— JSON, в котором осуществляется поиск поля.Stringfield_name— Имя искомого поля.const String
Возвращаемое значение
Возвращает значение поля в виде строки, включая разделители, если поле существует, или пустую строку в противном случае. String
Примеры
Пример использования
simpleJSONExtractString
Введена в версии: v21.4
Извлекает строковое значение в двойных кавычках из поля с именем field_name.
Детали реализации
В настоящее время не поддерживаются кодовые точки в формате \uXXXX\uYYYY, не входящие в базовую многоязычную плоскость (они преобразуются в CESU-8 вместо UTF-8).
Синтаксис
Псевдонимы: visitParamExtractString
Аргументы
json— JSON, в котором выполняется поиск поля.Stringfield_name— Имя искомого поля.const String
Возвращаемое значение
Возвращает значение поля в виде строки с обработанными escape-последовательностями, включая разделители. Возвращается пустая строка, если поле не содержит строку в двойных кавычках, если обработка escape-последовательностей завершилась неудачей или если поле не существует. String
Примеры
Пример использования
simpleJSONExtractUInt
Введена в версии: v21.4
Извлекает значение UInt64 из поля с именем field_name.
Если field_name является строковым полем, функция пытается извлечь число из начала строки.
Если поле не существует или не содержит число, возвращается 0.
Синтаксис
Псевдонимы: visitParamExtractUInt
Аргументы
json— JSON, в котором выполняется поиск поля.Stringfield_name— Имя поля для поиска.const String
Возвращаемое значение
Возвращает число, извлечённое из поля, если поле существует и содержит число, в противном случае 0. UInt64
Примеры
Пример использования
simpleJSONHas
Introduced in: v21.4
Проверяет наличие поля с именем field_name.
Синтаксис
Псевдонимы: visitParamHas
Аргументы
json— JSON, в котором выполняется поиск поля.Stringfield_name— Имя искомого поля.const String
Возвращаемое значение
Возвращает 1, если поле существует, 0 в противном случае. UInt8
Примеры
Пример использования
toJSONString
Введена в версии: v21.7
Сериализует значение в его JSON-представление. Поддерживаются различные типы данных и вложенные структуры.
64-битные целые числа или больше (например, UInt64 или Int128) по умолчанию заключаются в кавычки. Настройка output_format_json_quote_64bit_integers управляет этим поведением.
Специальные значения NaN и inf заменяются на null. Включите настройку output_format_json_quote_denormals, чтобы отображать их.
При сериализации значения Enum функция выводит его имя.
См. также:
Синтаксис
Аргументы
value— значение для сериализации. Значение может быть любого типа данных.Any
Возвращаемое значение
Воз��ращает JSON-представление значения. String
Примеры
Сериализация Map
Специальные значения