| Crates.io | sppparse_derive |
| lib.rs | sppparse_derive |
| version | 0.1.3 |
| created_at | 2021-01-18 16:50:01.456389+00 |
| updated_at | 2021-05-02 20:44:45.1416+00 |
| description | Derive macro for Sppparse |
| homepage | |
| repository | https://github.com/basiliqio/sppparse |
| max_upload_size | |
| id | 343575 |
| size | 3,595 |
Modern JSON/YAML tends to use JSON Pointer. This crate aims to facilitate their use.
Built on top of serde, this library allows a generic way to read and modify documents containing $ref.
The following features are available :
url: Add support for url::Urlsemver: Add support for semver::Version#[derive(Debug, Deserialize, Serialize, Sparsable)]
struct ObjectExampleParsed {
hello: String,
obj: HashMap<String, SparseSelector<String>>,
}
fn main() {
let json_value = json!({
"hello": "world",
"obj": {
"key1": {
"$ref": "#/hello"
}
}
});
let parsed_obj: SparseRoot<ObjectExampleParsed> =
SparseRoot::new_from_value(json_value, PathBuf::from("hello.json"), vec![]).unwrap();
println!(
"{}",
parsed_obj
.root_get()
.unwrap()
.obj
.get("key1")
.unwrap()
.get()
.expect("the dereferenced pointer")
);
}
// Prints "world"