Skip to content

json_object_keys(json_object)

Описание

Функция json_object_keys() возвращает массив ключей JSON-объекта. Если входное значение не является JSON-объектом, возвращается NULL.

Параметры

  • json_object: Column - JSON-объект в виде строки

Возвращаемое значение

Array[String] - массив ключей JSON-объекта или NULL

Пример использования

from pyspark.sql import SparkSession
from pyspark.sql.functions import json_object_keys

# Создаем SparkSession
spark = SparkSession.builder.appName("json_object_keys_example").getOrCreate()

# Создаем DataFrame с JSON-объектами
data = [
    (1, '{"name": "Alice", "age": 25}'),
    (2, '{"city": "New York", "country": "USA"}'),
    (3, '{}'),
    (4, '["a", "b", "c"]'),
    (5, None)
]
df = spark.createDataFrame(data, ["id", "json"])

# Получаем ключи JSON-объектов
result = df.select(
    "id",
    json_object_keys("json").alias("keys")
).show()

# Результат:
# +---+------------------+
# | id|             keys|
# +---+------------------+
# |  1|[name, age]      |
# |  2|[city, country]  |
# |  3|[]               |
# |  4|             null|
# |  5|             null|
# +---+------------------+

Примечания

  • Если входное значение не является JSON-объектом, возвращается NULL
  • Для работы с JSON-массивами используйте json_array_length()
  • Для получения значений JSON-объекта используйте json_tuple()
  • Для работы с JSON-строками используйте get_json_object()