summaryrefslogtreecommitdiff
path: root/README.md
blob: 03ec0d9a2616dea32edd8631da50a5d0b05ae941 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Serde Querystrings
===================================

This crate is a Rust library for serialising to and deserialising from
querystrings. This crate is designed to extend [`serde_urlencoded`][urlencoded]
when using nested parameters, similar to those used by [qs][qs] for Node, and
commonly used by Ruby on Rails via [Rake][Rake].

The core of the library is heavily adapted from 
[`serde_urlencoded`][urlencoded], which should be preferred
over this crate whenever non-nested query parameters are sufficient. It is built
upon [Serde], a high performance generic serialization framework and [rust-url],
a URL parser for Rust.

[rust-url]: https://github.com/servo/rust-url
[Serde]: https://github.com/serde-rs/serde
[urlencoded]: https://github.com/nox/serde_urlencoded
[qs]: https://www.npmjs.com/package/qs
[Rake]: http://www.rubydoc.info/github/rack/rack/Rack/Utils#parse_nested_query-class_method

Installation
============

This crate works with Cargo and can be found on
[crates.io] with a `Cargo.toml` like:

```toml
[dependencies]
serde_qs = "0.0.2"
```

[crates.io]: https://crates.io/crates/serde_qs

## License

serde_qs is licensed under either of

 * Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or
   http://www.apache.org/licenses/LICENSE-2.0)
 * MIT license ([LICENSE-MIT](LICENSE-MIT) or
   http://opensource.org/licenses/MIT)

at your option.

### Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in serde_qs by you, as defined in the Apache-2.0 license,
shall be dual licensed as above, without any additional terms or conditions.