Cereal JSON Pod是一個C++庫,可以幫助開發人員輕松地使用JSON數據。它提供了一個簡單的API,可以將C++對象序列化為JSON,也可以將JSON反序列化為C++對象。
使用Cereal JSON Pod非常簡單,只需要先安裝并導入Cereal和JSON Pod即可。在C++對象中加入一些注釋,聲明注釋為JSON字段,然后將它們序列化為JSON:
#include <cereal/archives/json.hpp> struct MyObject { int x, y, z; template <class Archive> void serialize(Archive &archive) { archive(CEREAL_NVP(x), CEREAL_NVP(y), CEREAL_NVP(z)); } }; MyObject obj {1, 2, 3}; std::ostringstream stream; cereal::JSONOutputArchive archive(stream); archive(CEREAL_NVP(obj)); std::string jsonstr = stream.str();
反之,將JSON反序列化為C++對象也同樣簡單:
MyObject newObj; std::istringstream stream(jsonstr); cereal::JSONInputArchive iarchive(stream); iarchive(CEREAL_NVP(newObj));
總而言之,Cereal JSON Pod提供了一種輕量級且易用的方式在C++中處理JSON數據。