Yangson主要是采用JSON作为YANG的实例数据,但是也支持XML。

yangson是一款主打以json格式录编YANG实例数据得Python库。

官方的简介在这https://yangson.labs.nic.cz/introduction.html

使用上,yangson需要设置一个yang libary,用于scheme的生成。

可以使用https://github.com/CZ-NIC/yangson/blob/master/tools/python/mkylib.py来生成yang library所需的json描述文件。这个mkylib.py尚没有包含在pip料包中。

https://yangson.labs.nic.cz/quickstart.html中有些具体的操作,可以在ipython中尝试。

一些使用提示:

  • DataModel支持from_file方法,可以从mkylib.py生成的json文件中生成scheme标物。
  • 核验实例数据的时候可以指定范围和内容类型validate(ValidationScope.syntax, ContentType.all)
  • 可以在实例标物上使用add_defaults()来添加模型中设为默认的数据

对XML录编码的支持

support XML encoding #20看,已经支持了XML格式的YANG实例数据。

尚没有文档,具体使用上要参考https://github.com/CZ-NIC/yangson/blob/master/tests/test_model.py

    from yangson.xmlparser import XMLParser
    parser = XMLParser(expected_xml_stripped)
    xml_obj2 = parser.root
    inst2 = xml_safe_data_model.from_xml(xml_obj2)

其他参考

(完)