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