nlohmann json要新增对某个自定义类型的序列化、反序列化,只需要针对这个类型偏特化一下预定义的adl_serializer就可以了
对std::wstring类型,提供一个struct adl_serializer<std::wstring>偏特化。其中to_utf8、from_utf8自己用libiconv、ICU等实现一下即可。
https://json.nlohmann.me/api/adl_serializer/
namespace nlohmann {
template <>
struct adl_serializer<std::wstring> {
static void to_json(json& j, const std::wstring& str) {
j = to_utf8(str);
}
static void from_json(const json& j, std::wstring& str) {
str = from_utf8(j.get<std::string>());
}
};
}
https://www.cnblogs.com/z16166/p/17599934.html
--
修改:z16166 FROM 123.118.191.*
FROM 123.118.191.*