问题描述
我想使用nlohmann/json来序列化一棵树,但是我不确定nlohmann/json
是否提供了必要的功能。
我不确定的功能:
-
嵌套类型的序列化。我毕竟要序列化一棵树...
-
指向抽象类型的指针的序列化。图一个类的层次结构。一个节点具有一个或多个指向子节点的指针。这些指针的类型为
AbstractClass*
。序列化程序需要将AbstractClass*
转换为具体的类指针。 -
std::variant
的序列化 -
“自定义字符串”的序列化,例如使用polymorphic allocator的字符串。我的假设是这不应该成为问题。
-
智能指针。
一个类可能看起来像这样:
class some_class {
std::vector<std::shared_ptr<const AbstractClass>> child_nodes;
std::variant<int,double,AbstractClass> some_variant;
// more member variables
public:
some_class() = delete;
// non-default constructors here
};
文档提供了custom data source的序列化示例。这样的接口是否足以满足我的用例?有人在上述情况下有经验吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)