blob: 1513e9b8f6cd2e0bc3f21d4d8ac12bd8d173b12d [file] [log] [blame]
Yi Kongd600cb02020-08-31 01:25:28 +08001[package]
2name = "serde_json"
David LeGare2f2c4652022-03-02 16:21:22 +00003version = "1.0.79" # remember to update html_root_url
Yi Kongd600cb02020-08-31 01:25:28 +08004authors = ["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"
Yi Kongd600cb02020-08-31 01:25:28 +080012edition = "2018"
David LeGare2f2c4652022-03-02 16:21:22 +000013rust-version = "1.36"
Yi Kongd600cb02020-08-31 01:25:28 +080014
15[dependencies]
16serde = { version = "1.0.100", default-features = false }
Chih-Hung Hsiehb93bfcb2020-10-26 13:16:59 -070017indexmap = { version = "1.5", optional = true }
David LeGare2f2c4652022-03-02 16:21:22 +000018itoa = "1.0"
Yi Kongd600cb02020-08-31 01:25:28 +080019ryu = "1.0"
20
21[dev-dependencies]
Chih-Hung Hsiehb93bfcb2020-10-26 13:16:59 -070022automod = "1.0"
David LeGare2f2c4652022-03-02 16:21:22 +000023ref-cast = "1.0"
Yi Kongd600cb02020-08-31 01:25:28 +080024rustversion = "1.0"
25serde_bytes = "0.11"
26serde_derive = "1.0"
27serde_stacker = "0.1"
David LeGare2f2c4652022-03-02 16:21:22 +000028trybuild = { version = "1.0.49", features = ["diff"] }
Yi Kongd600cb02020-08-31 01:25:28 +080029
30[workspace]
31members = ["tests/crate"]
32
33[package.metadata.docs.rs]
34features = ["raw_value", "unbounded_depth"]
35targets = ["x86_64-unknown-linux-gnu"]
Joel Galensond1eaeaf2021-08-09 10:42:14 -070036rustdoc-args = ["--cfg", "docsrs"]
Yi Kongd600cb02020-08-31 01:25:28 +080037
38[package.metadata.playground]
39features = ["raw_value"]
40
41
42### FEATURES #################################################################
43
44[features]
45default = ["std"]
46
47std = ["serde/std"]
48
49# Provide integration for heap-allocated collections without depending on the
50# rest of the Rust standard library.
51# NOTE: Disabling both `std` *and* `alloc` features is not supported yet.
52# Available on Rust 1.36+.
53alloc = ["serde/alloc"]
54
55# Make serde_json::Map use a representation which maintains insertion order.
56# This allows data to be read into a Value and written back to a JSON string
57# while preserving the order of map keys in the input.
58preserve_order = ["indexmap"]
59
60# Use sufficient precision when parsing fixed precision floats from JSON to
61# ensure that they maintain accuracy when round-tripped through JSON. This comes
62# at an approximately 2x performance cost for parsing floats compared to the
63# default best-effort precision.
64#
65# Unlike arbitrary_precision, this feature makes f64 -> JSON -> f64 produce
66# output identical to the input.
67float_roundtrip = []
68
69# Use an arbitrary precision number representation for serde_json::Number. This
70# allows JSON numbers of arbitrary size/precision to be read into a Number and
71# written back to a JSON string without loss of precision.
72#
73# Unlike float_roundtrip, this feature makes JSON -> serde_json::Number -> JSON
74# produce output identical to the input.
75arbitrary_precision = []
76
77# Provide a RawValue type that can hold unprocessed JSON during deserialization.
78raw_value = []
79
80# Provide a method disable_recursion_limit to parse arbitrarily deep JSON
81# structures without any consideration for overflowing the stack. When using
82# this feature, you will want to provide some other way to protect against stack
83# overflows, such as by wrapping your Deserializer in the dynamically growing
84# stack adapter provided by the serde_stacker crate. Additionally you will need
85# to be careful around other recursive operations on the parsed result which may
86# overflow the stack after deserialization has completed, including, but not
87# limited to, Display and Debug and Drop impls.
88unbounded_depth = []