#url #serde

url_serde

Serde support for URL types

5 releases

Uses old Rust 2015

0.2.0 Apr 30, 2017
0.1.3 Feb 20, 2017
0.1.2 Feb 19, 2017
0.1.1 Feb 9, 2017
0.1.0 Jan 28, 2017

#75 in #url

Download history 2519/week @ 2020-12-23 3248/week @ 2020-12-30 5335/week @ 2021-01-06 5372/week @ 2021-01-13 5356/week @ 2021-01-20 4341/week @ 2021-01-27 4256/week @ 2021-02-03 4759/week @ 2021-02-10 5915/week @ 2021-02-17 5567/week @ 2021-02-24 5228/week @ 2021-03-03 4769/week @ 2021-03-10 4552/week @ 2021-03-17 5112/week @ 2021-03-24 5241/week @ 2021-03-31 3699/week @ 2021-04-07

20,247 downloads per month
This crate has lost popularity

MIT/Apache

200KB
3.5K SLoC

Serde support for rust-url types

This crate provides wrappers and convenience functions to make rust-url and serde work hand in hand.

Version 0.2 or newer of this crate offer support for serde 1.0. Version 0.1 of this crate offer support for serde 0.9. Versions of serde older than 0.9 are natively supported by rust-url crate directly.

For more details, see the crate documentation.


lib.rs:

This crate provides wrappers and convenience functions to make rust-url and Serde work hand in hand.

The supported types are:

  • url::Url

How do I use a data type with a Url member with Serde?

Use the serde attributes deserialize_with and serialize_with.

#[derive(serde::Serialize, serde::Deserialize)]
struct MyStruct {
#[serde(with = "url_serde")]
url: Url,
}

How do I encode a Url value with serde_json::to_string?

Use the Ser wrapper.

serde_json::to_string(&Ser::new(&url))

How do I decode a Url value with serde_json::parse?

Use the De wrapper.

serde_json::from_str(r"http:://www.rust-lang.org").map(De::into_inner)

How do I send Url values as part of an IPC channel?

Use the Serde wrapper. It implements Deref and DerefMut for convenience.

ipc::channel::<Serde<Url>>()

Dependencies

~1.5MB
~54K SLoC