Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция
Относится к:
Databricks SQL
Databricks Runtime
Извлекает объект JSON из path.
Подсказка
Для нового кода Azure Databricks рекомендует использовать тип данных VARIANT обеспечивает более высокую производительность чтения и записи, доступ к полям с учетом регистра и более четкую семантику, чем анализ JSON на основе строк. Узнайте, как вариант отличается от строк JSON?
Синтаксис
get_json_object(expr, path)
Аргументы
-
expr: строковое выражение, содержащее правильно сформированный JSON. -
path: строковый литерал, содержащий выражение JSONPath, корневое значение$. См . заметки о поддерживаемых синтаксисах и примерах распространенных шаблонов.
Возвраты
строка.
Если объект не может быть найден, возвращается значение NULL.
Примеры
-- Extract a top-level field
> SELECT get_json_object('{"a":"b"}', '$.a');
b
-- Extract a nested field
> SELECT get_json_object('{"a":{"b":"c"}}', '$.a.b');
c
-- Extract an array element by index
> SELECT get_json_object('{"items":["apple","pear"]}', '$.items[0]');
apple
-- Extract a field whose name contains a space
> SELECT get_json_object('{"first name":"Ada"}', '$["first name"]');
Ada
-- Extract a field whose name contains a dot, using bracket notation with double quotes
> SELECT get_json_object('{"ids":{"a.b":"42"}}', '$.ids["a.b"]');
42
-- Extract a field from every element of an array
> SELECT get_json_object('{"items":[{"n":1},{"n":2}]}', '$.items[*].n');
[1,2]
-- Returns NULL when the path does not match
> SELECT get_json_object('{"a":"b"}', '$.missing');
NULL
Примечания
get_json_object использует синтаксис JSONPath, корневой в $. Доступ к полям по нотации точек (.field) не учитывает регистр; нотация скобки (['field'] или ["field"]) учитывает регистр. Это отличается от выражения пути Azure Databricks