workspace = { members = ["fuzz"] } [package] name = "serde_json_bytes" version = "0.2.4" edition = "2021" license = "MIT OR Apache-2.0" authors = ["Geoffroy Couprie "] description = "a JSON Value object with strings backed by Bytes, parsed by serde_json" repository = "https://github.com/apollographql/serde_json_bytes" keywords = ["json", "parser", "bytes"] categories = ["parsing"] [dependencies] serde = { version = "1.0.100", default-features = false, features = ["derive"] } indexmap = { version = "2.1", optional = true } serde_json = "1.0.73" bytes = "1.1.0" jsonpath-rust = "0.3.5" regex = "1.10.4" ahash = "0.8.11" ### FEATURES ################################################################# [features] default = ["std"] std = ["serde/std"] # Provide integration for heap-allocated collections without depending on the # rest of the Rust standard library. # NOTE: Disabling both `std` *and* `alloc` features is not supported yet. # Available on Rust 1.36+. alloc = ["serde/alloc"] # Make serde_json::Map use a representation which maintains insertion order. # This allows data to be read into a Value and written back to a JSON string # while preserving the order of map keys in the input. preserve_order = ["indexmap"] # Use sufficient precision when parsing fixed precision floats from JSON to # ensure that they maintain accuracy when round-tripped through JSON. This comes # at an approximately 2x performance cost for parsing floats compared to the # default best-effort precision. # # Unlike arbitrary_precision, this feature makes f64 -> JSON -> f64 produce # output identical to the input. #float_roundtrip = [] # Use an arbitrary precision number representation for serde_json::Number. This # allows JSON numbers of arbitrary size/precision to be read into a Number and # written back to a JSON string without loss of precision. # # Unlike float_roundtrip, this feature makes JSON -> serde_json::Number -> JSON # produce output identical to the input. arbitrary_precision = ["serde_json/arbitrary_precision"] # Provide a RawValue type that can hold unprocessed JSON during deserialization. #raw_value = [] # Provide a method disable_recursion_limit to parse arbitrarily deep JSON # structures without any consideration for overflowing the stack. When using # this feature, you will want to provide some other way to protect against stack # overflows, such as by wrapping your Deserializer in the dynamically growing # stack adapter provided by the serde_stacker crate. Additionally you will need # to be careful around other recursive operations on the parsed result which may # overflow the stack after deserialization has completed, including, but not # limited to, Display and Debug and Drop impls. #unbounded_depth = []