polars.Expr.str.json_extract#

Expr.str.json_extract(
dtype: PolarsDataType | None = None,
infer_schema_length: int | None = 100,
) Expr[source]#

Parse string values as JSON.

Throw errors if encounter invalid JSON strings.

Parameters:
dtype

The dtype to cast the extracted value to. If None, the dtype will be inferred from the JSON value.

infer_schema_length

How many rows to parse to determine the schema. If None all rows are used.

See also

json_path_match

Extract the first match of json string with provided JSONPath expression.

Examples

>>> df = pl.DataFrame(
...     {"json": ['{"a":1, "b": true}', None, '{"a":2, "b": false}']}
... )
>>> dtype = pl.Struct([pl.Field("a", pl.Int64), pl.Field("b", pl.Boolean)])
>>> df.select(pl.col("json").str.json_extract(dtype))
shape: (3, 1)
┌─────────────┐
│ json        │
│ ---         │
│ struct[2]   │
╞═════════════╡
│ {1,true}    │
│ {null,null} │
│ {2,false}   │
└─────────────┘