feat(python)!: Remove serde functionality from pl.read_json
and DataFrame.write_json
#16550
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #14526
Changes
pl.read_json
no longer supports reading JSON files produced byDataFrame.serialize
. Users should usepl.DataFrame.deserialize
instead.DataFrame.write_json
now only writes row-oriented JSON. The parametersrow_oriented
andpretty
have been removed. Users should useDataFrame.serialize
to serialize a DataFrame.Example -
write_json
Before:
After:
>>> df.write_json() # Same behavior as previously `df.write_json(row_oriented=True)` '[{"a":1,"b":3.0},{"a":2,"b":4.0}]'
Example -
read_json
Before:
After:
>>> pl.read_json(io.StringIO(df_ser)) # Format no longer supported: data is treated as a single row shape: (1, 1) ┌─────────────────────────────────┐ │ columns │ │ --- │ │ list[struct[4]] │ ╞═════════════════════════════════╡ │ [{"a","Int64","",[1.0, 2.0]}, … │ └─────────────────────────────────┘
Use instead: