$ arrow-json

v57.2.0

Support for parsing JSON format to and from the Arrow format

Downloads: 33.8M
Recent: 6.1M
Versions: 51
Updated: January 11, 2026

Latest Update Summary

Crate

Name: arrow-json New version: 57.0.0 Release date: 2025-10-23T11:00:57Z

Crate readme

Short description Native Rust implementation of Apache Arrow and Apache Parquet

Long description This repository contains Rust implementations for the Apache Arrow in-memory columnar format and the Apache Parquet columnar file format. It includes core functionality for memory layout, arrays, and low-level computations in the arrow crate, support for the Arrow-Flight IPC protocol in arrow-flight, and support for the Parquet file format in the parquet crate. Additionally, the parquet_derive crate allows deriving RecordWriter/RecordReader for simple Rust structs. The project follows Semantic Versioning and releases approximately monthly, with major versions released at most quarterly. The minimum supported Rust version (MSRV) is updated on a rolling basis, ensuring it is at least six months old and is only updated in major releases.

Features • Arrow in-memory columnar format • Parquet columnar file format • Arrow-Flight IPC protocol • Derive RecordWriter/RecordReader • Monthly releases • Rolling MSRV policy • Apache 2.0 License

Code Examples Core functionality

 [`arrow`]: https://crates.io/crates/arrow

Arrow-Flight IPC protocol

 [`arrow-flight`]: https://crates.io/crates/arrow-flight

Parquet columnar file format

 [`parquet`]: https://crates.io/crates/parquet

Derive RecordWriter/RecordReader

 [`parquet_derive`]: https://crates.io/crates/parquet-derive

Object Storage interface

 [`object_store`]: https://crates.io/crates/object-store

Linkshttps://arrow.apache.org/https://crates.io/crates/arrowhttps://crates.io/crates/parquethttps://crates.io/crates/parquet-derivehttps://crates.io/crates/arrow-flighthttps://github.com/apache/arrow-rs-object-storehttps://docs.rs/arrow/latesthttps://docs.rs/arrow-flight/latesthttps://docs.rs/parquet/latesthttps://docs.rs/parquet-derive/latesthttps://arrow.apache.org/rusthttps://semver.org/https://github.com/apache/arrow-rs/issues/7835https://github.com/apache/arrow-rs/milestone/3https://github.com/apache/arrow-rs/milestone/5https://github.com/apache/arrow-rs/milestone/6https://github.com/apache/arrow-rs/issues/5368https://github.com/apache/arrow-rs/blob/main/CONTRIBUTING.md#breaking-changeshttps://github.com/apache/arrow-rs/issues/6737https://crates.io/crates/datafusionhttps://crates.io/crates/ballistahttps://crates.io/crates/parquet_opendalhttps://github.com/apache/opendal/blob/main/integrations/parquet/README.mdhttps://github.com/apache/arrow-rs-object-store/blob/main/README.mdhttps://github.com/apache/datafusion/blob/main/README.mdhttps://github.com/apache/datafusion-ballista/blob/main/README.mdhttps://arrow.apache.org/community/https://s.apache.org/slack-invitehttps://github.com/apache/arrow-rs/discussionshttps://discord.gg/YAb2TdazKQhttps://github.com/apache/arrow-rs/issueshttps://www.rust-lang.org/https://crates.io/crates/object-store • arrow/README.md • CONTRIBUTING.md • parquet/README.md • arrow-flight/README.md • https://github.com/apache/arrow-rs/tree/57.0.0https://github.com/apache/arrow-rs/compare/56.2.0...57.0.0https://github.com/apache/arrow-rs/pull/8626https://github.com/apache/arrow-rs/pull/8596https://github.com/apache/arrow-rs/pull/8595https://github.com/apache/arrow-rs/pull/8587https://github.com/apache/arrow-rs/pull/8570https://github.com/apache/arrow-rs/pull/8569https://github.com/apache/arrow-rs/pull/8530https://github.com/apache/arrow-rs/pull/8529https://github.com/apache/arrow-rs/pull/8470https://github.com/apache/arrow-rs/pull/8447https://github.com/apache/arrow-rs/pull/8425https://github.com/apache/arrow-rs/pull/8424https://github.com/apache/arrow-rs/pull/8405https://github.com/apache/arrow-rs/pull/8396https://github.com/apache/arrow-rs/pull/8291https://github.com/apache/arrow-rs/pull/8290https://github.com/apache/arrow-rs/pull/8286https://github.com/apache/arrow-rs/issues/4886https://github.com/apache/arrow-rs/issues/8639https://github.com/apache/arrow-rs/issues/8614https://github.com/apache/arrow-rs/issues/8612https://github.com/apache/arrow-rs/issues/8610https://github.com/apache/arrow-rs/issues/8609https://github.com/apache/arrow-rs/issues/8606https://github.com/apache/arrow-rs/issues/8591https://github.com/apache/arrow-rs/issues/8559https://github.com/apache/arrow-rs/issues/8531https://github.com/apache/arrow-rs/issues/8523https://github.com/apache/arrow-rs/issues/8517https://github.com/apache/arrow-rs/issues/8515https://github.com/apache/arrow-rs/issues/8513https://github.com/apache/arrow-rs/issues/8503https://github.com/apache/arrow-rs/issues/8497https://github.com/apache/arrow-rs/issues/8469https://github.com/apache/arrow-rs/issues/8461https://github.com/apache/arrow-rs/issues/8451https://github.com/apache/arrow-rs/issues/8439https://github.com/apache/arrow-rs/issues/8412https://github.com/apache/arrow-rs/issues/8411https://github.com/apache/arrow-rs/issues/8398https://github.com/apache/arrow-rs/issues/8389https://github.com/apache/arrow-rs/issues/8386https://github.com/apache/arrow-rs/issues/8370https://github.com/apache/arrow-rs/issues/8361https://github.com/apache/arrow-rs/issues/8347https://github.com/apache/arrow-rs/issues/8337https://github.com/apache/arrow-rs/issues/8336https://github.com/apache/arrow-rs/issues/8334https://github.com/apache/arrow-rs/issues/8332https://github.com/apache/arrow-rs/issues/8331https://github.com/apache/arrow-rs/issues/8330https://github.com/apache/arrow-rs/issues/8303https://github.com/apache/arrow-rs/issues/8285https://github.com/apache/arrow-rs/issues/8281https://github.com/apache/arrow-rs/issues/8631https://github.com/apache/arrow-rs/issues/8579https://github.com/apache/arrow-rs/issues/8542https://github.com/apache/arrow-rs/issues/8539https://github.com/apache/arrow-rs/issues/8534https://github.com/apache/arrow-rs/issues/8533https://github.com/apache/arrow-rs/issues/8526https://github.com/apache/arrow-rs/issues/8505https://github.com/apache/arrow-rs/issues/8443https://github.com/apache/arrow-rs/issues/8435https://github.com/apache/arrow-rs/issues/8406https://github.com/apache/arrow-rs/issues/8404https://github.com/apache/arrow-rs/issues/8403https://github.com/apache/arrow-rs/issues/8382https://github.com/apache/arrow-rs/issues/8319https://github.com/apache/arrow-rs/issues/8296https://github.com/apache/arrow-rs/pull/8383https://github.com/apache/arrow-rs/issues/8588https://github.com/apache/arrow-rs/pull/8654https://github.com/apache/arrow-rs/pull/8583https://github.com/apache/arrow-rs/pull/8574https://github.com/apache/arrow-rs/pull/8527https://github.com/apache/arrow-rs/pull/8388https://github.com/apache/arrow-rs/issues/8601https://github.com/apache/arrow-rs/issues/8538https://github.com/apache/arrow-rs/issues/8504https://github.com/apache/arrow-rs/issues/8418https://github.com/apache/arrow-rs/issues/8410https://github.com/apache/arrow-rs/issues/8380https://github.com/apache/arrow-rs/issues/8377https://github.com/apache/arrow-rs/issues/8374https://github.com/apache/arrow-rs/pull/8642https://github.com/apache/arrow-rs/pull/8636https://github.com/apache/arrow-rs/pull/8634https://github.com/apache/arrow-rs/pull/8633https://github.com/apache/arrow-rs/pull/8629https://github.com/apache/arrow-rs/pull/8627https://github.com/apache/arrow-rs/pull/8625https://github.com/apache/arrow-rs/pull/8621https://github.com/apache/arrow-rs/pull/8620https://github.com/apache/arrow-rs/pull/8617https://github.com/apache/arrow-rs/pull/8616https://github.com/apache/arrow-rs/pull/8615https://github.com/apache/arrow-rs/pull/8613https://github.com/apache/arrow-rs/pull/8611https://github.com/apache/arrow-rs/pull/8604https://github.com/apache/arrow-rs/pull/8603https://github.com/apache/arrow-rs/pull/8599https://github.com/apache/arrow-rs/pull/8598https://github.com/apache/arrow-rs/pull/8597https://github.com/apache/arrow-rs/pull/8594https://github.com/apache/arrow-rs/pull/8592https://github.com/apache/arrow-rs/pull/8586https://github.com/apache/arrow-rs/pull/8585https://github.com/apache/arrow-rs/pull/8584https://github.com/apache/arrow-rs/pull/8582https://github.com/apache/arrow-rs/pull/8581https://github.com/apache/arrow-rs/pull/8580https://github.com/apache/arrow-rs/pull/8578https://github.com/apache/arrow-rs/pull/8577https://github.com/apache/arrow-rs/pull/8576https://github.com/apache/arrow-rs/pull/8575https://github.com/apache/arrow-rs/pull/8573https://github.com/apache/arrow-rs/pull/8563https://github.com/apache/arrow-rs/pull/8562https://github.com/apache/arrow-rs/pull/8560https://github.com/apache/arrow-rs/pull/8558https://github.com/apache/arrow-rs/pull/8557https://github.com/apache/arrow-rs/pull/8556https://github.com/apache/arrow-rs/pull/8555https://github.com/apache/arrow-rs/pull/8554https://github.com/apache/arrow-rs/pull/8552https://github.com/apache/arrow-rs/pull/8550https://github.com/apache/arrow-rs/pull/8546https://github.com/apache/arrow-rs/pull/8545https://github.com/apache/arrow-rs/pull/8544https://github.com/apache/arrow-rs/pull/8543https://github.com/apache/arrow-rs/pull/8541https://github.com/apache/arrow-rs/pull/8540https://github.com/apache/arrow-rs/pull/8536https://github.com/apache/arrow-rs/pull/8535https://github.com/apache/arrow-rs/pull/8525https://github.com/apache/arrow-rs/pull/8524https://github.com/apache/arrow-rs/pull/8522https://github.com/apache/arrow-rs/pull/8519https://github.com/apache/arrow-rs/pull/8516https://github.com/apache/arrow-rs/pull/8514https://github.com/apache/arrow-rs/pull/8512https://github.com/apache/arrow-rs/pull/8511https://github.com/apache/arrow-rs/pull/8510https://github.com/apache/arrow-rs/pull/8509https://github.com/apache/arrow-rs/pull/8508https://github.com/apache/arrow-rs/pull/8507https://github.com/apache/arrow-rs/pull/8506https://github.com/apache/arrow-rs/pull/8502https://github.com/apache/arrow-rs/pull/8501https://github.com/apache/arrow-rs/pull/8500https://github.com/apache/arrow-rs/pull/8499https://github.com/apache/arrow-rs/pull/8498https://github.com/apache/arrow-rs/pull/8494https://github.com/apache/arrow-rs/pull/8493https://github.com/apache/arrow-rs/pull/8492https://github.com/apache/arrow-rs/pull/8491https://github.com/apache/arrow-rs/pull/8490https://github.com/apache/arrow-rs/pull/8489https://github.com/apache/arrow-rs/pull/8488https://github.com/apache/arrow-rs/pull/8487https://github.com/apache/arrow-rs/pull/8486https://github.com/apache/arrow-rs/pull/8485https://github.com/apache/arrow-rs/pull/8484https://github.com/apache/arrow-rs/pull/8483https://github.com/apache/arrow-rs/pull/8482https://github.com/apache/arrow-rs/pull/8481https://github.com/apache/arrow-rs/pull/8478https://github.com/apache/arrow-rs/pull/8475https://github.com/apache/arrow-rs/pull/8473https://github.com/apache/arrow-rs/pull/8471https://github.com/apache/arrow-rs/pull/8468https://github.com/apache/arrow-rs/pull/8462https://github.com/apache/arrow-rs/pull/8459https://github.com/apache/arrow-rs/pull/8458https://github.com/apache/arrow-rs/pull/8457https://github.com/apache/arrow-rs/pull/8456https://github.com/apache/arrow-rs/pull/8455https://github.com/apache/arrow-rs/pull/8454https://github.com/apache/arrow-rs/pull/8453https://github.com/apache/arrow-rs/pull/8452https://github.com/apache/arrow-rs/pull/8450https://github.com/apache/arrow-rs/pull/8449https://github.com/apache/arrow-rs/pull/8448https://github.com/apache/arrow-rs/pull/8444https://github.com/apache/arrow-rs/pull/8438https://github.com/apache/arrow-rs/pull/8436https://github.com/apache/arrow-rs/pull/8434https://github.com/apache/arrow-rs/pull/8433https://github.com/apache/arrow-rs/pull/8432https://github.com/apache/arrow-rs/pull/8431https://github.com/apache/arrow-rs/pull/8429https://github.com/apache/arrow-rs/pull/8426https://github.com/apache/arrow-rs/pull/8421https://github.com/apache/arrow-rs/pull/8417https://github.com/apache/arrow-rs/pull/8416https://github.com/apache/arrow-rs/pull/8415https://github.com/apache/arrow-rs/pull/8414https://github.com/apache/arrow-rs/pull/8413https://github.com/apache/arrow-rs/pull/8409https://github.com/apache/arrow-rs/pull/8408https://github.com/apache/arrow-rs/pull/8402https://github.com/apache/arrow-rs/pull/8401https://github.com/apache/arrow-rs/pull/8399https://github.com/apache/arrow-rs/pull/8397https://github.com/apache/arrow-rs/pull/8395https://github.com/apache/arrow-rs/pull/8392https://github.com/apache/arrow-rs/pull/8391https://github.com/apache/arrow-rs/pull/8390https://github.com/apache/arrow-rs/pull/8385https://github.com/apache/arrow-rs/pull/8381https://github.com/apache/arrow-rs/pull/8379https://github.com/apache/arrow-rs/pull/8375https://github.com/apache/arrow-rs/pull/8371https://github.com/apache/arrow-rs/pull/8366https://github.com/apache/arrow-rs/pull/8349https://github.com/apache/arrow-rs/pull/8340https://github.com/apache/arrow-rs/pull/8282

https://api.github.com/repos/apache/arrow-rs/releases/256648414

Release info

Release version: 57.0.0

Release description This release introduces several breaking changes and enhancements across the Apache Arrow Rust project. Notably, Arc<FileEncryptionProperties> is now used consistently for file encryption properties, aiming to reduce the size of ParquetMetadata and avoid copying when encryption is enabled. The arrow-avro crate has been added, providing support for Avro data formats, along with new ArrowError::AvroError and roundtrip tests.

Significant refactoring has occurred within the Parquet module, including a 'Thrift remodel' that refactors encryption and stores encodings as a bitmask, along with the use of a custom Thrift parser for Parquet metadata. Display formatting for various DataType variants, such as RunEndEncoded, Map, ListView, LargeListView, Union, and Timestamp, has been improved for better readability.

Performance improvements include reusing the zstd compression context when writing IPC data and optimizing convert_row_groups for Thrift remodeling. Bug fixes address issues with Decimal-to-Decimal casting, Parquet writer flush operations, and memory consumption for compressed Parquet writers.

The release also includes the implementation of GeospatialStatistics creation for Parquet logical types and expands support for the Variant LogicalType in Parquet, enhancing data handling capabilities.

Code Examples

Minor update: 57.1.0 → 57.2.0

$ DOWNLOADS TREND

27.5M33.8M

$ VERSION HISTORY

v57.2.0January 11, 2026
v57.1.0November 24, 2025
v57.0.0October 23, 2025
v56.2.0September 23, 2025

$ LINKS

$ INSTALL

cargo add arrow-json

Or add to Cargo.toml: arrow-json = "57.2.0"