是否可以使用nlohmann / json序列化嵌套/复杂类?

问题描述

我想使用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 (将#修改为@)