1[package] 2name = "serde_json" 3version = "1.0.62" # remember to update html_root_url 4authors = ["Erick Tryzelaar <erick.tryzelaar@gmail.com>", "David Tolnay <dtolnay@gmail.com>"] 5license = "MIT OR Apache-2.0" 6description = "A JSON serialization file format" 7repository = "https://github.com/serde-rs/json" 8documentation = "https://docs.serde.rs/serde_json/" 9keywords = ["json", "serde", "serialization"] 10categories = ["encoding"] 11readme = "README.md" 12include = ["build.rs", "src/**/*.rs", "README.md", "LICENSE-APACHE", "LICENSE-MIT"] 13edition = "2018" 14 15[dependencies] 16serde = { version = "1.0.100", default-features = false } 17indexmap = { version = "1.5", optional = true } 18itoa = { version = "0.4.3", default-features = false } 19ryu = "1.0" 20 21[dev-dependencies] 22automod = "1.0" 23rustversion = "1.0" 24serde_bytes = "0.11" 25serde_derive = "1.0" 26serde_stacker = "0.1" 27trybuild = { version = "1.0.19", features = ["diff"] } 28 29[workspace] 30members = ["tests/crate"] 31 32[package.metadata.docs.rs] 33features = ["raw_value", "unbounded_depth"] 34targets = ["x86_64-unknown-linux-gnu"] 35 36[package.metadata.playground] 37features = ["raw_value"] 38 39 40### FEATURES ################################################################# 41 42[features] 43default = ["std"] 44 45std = ["serde/std"] 46 47# Provide integration for heap-allocated collections without depending on the 48# rest of the Rust standard library. 49# NOTE: Disabling both `std` *and* `alloc` features is not supported yet. 50# Available on Rust 1.36+. 51alloc = ["serde/alloc"] 52 53# Make serde_json::Map use a representation which maintains insertion order. 54# This allows data to be read into a Value and written back to a JSON string 55# while preserving the order of map keys in the input. 56preserve_order = ["indexmap"] 57 58# Use sufficient precision when parsing fixed precision floats from JSON to 59# ensure that they maintain accuracy when round-tripped through JSON. This comes 60# at an approximately 2x performance cost for parsing floats compared to the 61# default best-effort precision. 62# 63# Unlike arbitrary_precision, this feature makes f64 -> JSON -> f64 produce 64# output identical to the input. 65float_roundtrip = [] 66 67# Use an arbitrary precision number representation for serde_json::Number. This 68# allows JSON numbers of arbitrary size/precision to be read into a Number and 69# written back to a JSON string without loss of precision. 70# 71# Unlike float_roundtrip, this feature makes JSON -> serde_json::Number -> JSON 72# produce output identical to the input. 73arbitrary_precision = [] 74 75# Provide a RawValue type that can hold unprocessed JSON during deserialization. 76raw_value = [] 77 78# Provide a method disable_recursion_limit to parse arbitrarily deep JSON 79# structures without any consideration for overflowing the stack. When using 80# this feature, you will want to provide some other way to protect against stack 81# overflows, such as by wrapping your Deserializer in the dynamically growing 82# stack adapter provided by the serde_stacker crate. Additionally you will need 83# to be careful around other recursive operations on the parsed result which may 84# overflow the stack after deserialization has completed, including, but not 85# limited to, Display and Debug and Drop impls. 86unbounded_depth = [] 87