serde_indextree
Serializing indextree
structure.
serde_indextree
provides two struct: Node
for serializing
a node and its descendants, SiblingNodes
for serializing a
node and its siblings in sequence.
```rust use indextree::Arena; use serde::Serialize; use serdeindextree::Node; use serdejson::to_string;
struct HtmlElement { tag: &'static str }
//
asserteq!( tostring(&Node::new(a, arena)).unwrap(), "{\ \"tag\": \"html\",\ \"children\": [\ {\ \"tag\": \"head\",\ \"children\": [\ { \"tag\": \"title\" }\ ]\ }, {\ \"tag\": \"body\",\ \"children\": [\ { \"tag\": \"h1\" },\ { \"tag\": \"h2\" }\ ]\ }\ ]\ }" ); ```
Unfortunately, serde_indextree
doesn't come up with any customization.
If you want to rename field names or anything, just copy the entire code (only 40+ lines) and modify it at your wish.
MIT