#json-xml #xml #json #xml2json #json-object

node2object

在 XML 节点和 JSON 对象之间进行转换

3 个版本

使用旧的 Rust 2015

0.1.2 2018年4月4日
0.1.1 2018年4月4日
0.1.0 2017年2月8日

#15 in #json-xml

21 每月下载次数

MIT 许可证

10KB
183 代码行

node2object

在 XML 节点(treexml)和 JSON 对象(serde-json)之间进行转换。

示例

extern crate treexml;

#[macro_use]
extern crate serde_json;

extern crate node2object;

fn main() {
    let dom_root = treexml::Document::parse("
        <population>
          <entry>
            <name>Alex</name>
            <height>173.5</height>
          </entry>
          <entry>
            <name>Mel</name>
            <height>180.4</height>
          </entry>
        </population>
    ".as_bytes()).unwrap().root.unwrap();
    
    assert_eq!(serde_json::Value::Object(node2object::node2object(&dom_root)), json!(
        {
          "population": {
            "entry": [
              { "name": "Alex", "height": 173.5 },
              { "name": "Mel", "height": 180.4 }
            ]
          }
        }
    )); 
}

lib.rs:

在 XML 节点(treexml)和 JSON 对象(serde-json)之间进行转换。

示例

extern crate treexml;

#[macro_use]
extern crate serde_json;

extern crate node2object;

fn main() {
    let dom_root = treexml::Document::parse("
        <population>
          <entry>
            <name>Alex</name>
            <height>173.5</height>
          </entry>
          <entry>
            <name>Mel</name>
            <height>180.4</height>
          </entry>
        </population>
    ".as_bytes()).unwrap().root.unwrap();

    assert_eq!(serde_json::Value::Object(node2object::node2object(&dom_root)), json!(
        {
          "population": {
            "entry": [
              { "name": "Alex", "height": 173.5 },
              { "name": "Mel", "height": 180.4 }
            ]
          }
        }
    ));
}

依赖项

~3.5–5MB
~99K SLoC