Bagikan melalui


get_json_object

Mengekstrak objek json dari string json berdasarkan json path yang ditentukan, dan mengembalikan string json dari objek json yang diekstrak. Ini akan mengembalikan null jika string json input tidak valid.

Syntax

from pyspark.sql import functions as sf

sf.get_json_object(col, path)

Parameter-parameternya

Pengaturan Tipe Description
col pyspark.sql.Column atau str Kolom string dalam format json.
path str Jalur ke objek json untuk diekstrak.

Pengembalian Barang

pyspark.sql.Column: representasi string dari nilai objek JSON yang diberikan.

Examples

Contoh 1: Mengekstrak objek json dari string json

from pyspark.sql import functions as sf
data = [("1", '''{"f1": "value1", "f2": "value2"}'''), ("2", '''{"f1": "value12"}''')]
df = spark.createDataFrame(data, ("key", "jstring"))
df.select(df.key,
    sf.get_json_object(df.jstring, '$.f1').alias("c0"),
    sf.get_json_object(df.jstring, '$.f2').alias("c1")
).show()
+---+-------+------+
|key|     c0|    c1|
+---+-------+------+
|  1| value1|value2|
|  2|value12|  NULL|
+---+-------+------+

Contoh 2: Mengekstrak objek json dari array json

from pyspark.sql import functions as sf
data = [
("1", '''[{"f1": "value1"},{"f1": "value2"}]'''),
("2", '''[{"f1": "value12"},{"f2": "value13"}]''')
]
df = spark.createDataFrame(data, ("key", "jarray"))
df.select(df.key,
    sf.get_json_object(df.jarray, '$[0].f1').alias("c0"),
    sf.get_json_object(df.jarray, '$[1].f2').alias("c1")
).show()
+---+-------+-------+
|key|     c0|     c1|
+---+-------+-------+
|  1| value1|   NULL|
|  2|value12|value13|
+---+-------+-------+
df.select(df.key,
    sf.get_json_object(df.jarray, '$[*].f1').alias("c0"),
    sf.get_json_object(df.jarray, '$[*].f2').alias("c1")
).show()
+---+-------------------+---------+
|key|                 c0|       c1|
+---+-------------------+---------+
|  1|["value1","value2"]|     NULL|
|  2|          "value12"|"value13"|
+---+-------------------+---------+