Skip to content

Commit bf1f69c

Browse files
committed
extra: add ToJson for TreeMap.
1 parent 9e67bc3 commit bf1f69c

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

src/libextra/json.rs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ use std::to_str;
2727
use serialize::Encodable;
2828
use serialize;
2929
use sort::Sort;
30+
use treemap::TreeMap;
3031

3132
/// Represents a json value
3233
pub enum Json {
@@ -1340,6 +1341,16 @@ impl<A:ToJson + Copy> ToJson for HashMap<~str, A> {
13401341
}
13411342
}
13421343

1344+
impl<A:ToJson + Copy> ToJson for TreeMap<~str, A> {
1345+
fn to_json(&self) -> Json {
1346+
let mut d = HashMap::new();
1347+
for self.iter().advance |(key, value)| {
1348+
d.insert(copy *key, value.to_json());
1349+
}
1350+
Object(~d)
1351+
}
1352+
}
1353+
13431354
impl<A:ToJson> ToJson for Option<A> {
13441355
fn to_json(&self) -> Json {
13451356
match *self {

0 commit comments

Comments
 (0)