これによると、任意の QVariant を QJSonObject に変換できるはずです
今、あなたの質問は次のようになります: Foo クラスを QVariant に変換する方法は?
toQVariant および fromQVariant メソッドを Foo クラスに追加して、この動作をカプセル化することをお勧めします。最も便利な QVariant クラスは、実際には QVariantMap であり、このように使用して Foo オブジェクトをシリアル化できます
QVariant toVariant( Foo song ) {
QVariantMap map;
map.insert("album", wstring2Utf8(song.album()));
map.insert("artist", wstring2Utf8(song.artist()));
map.insert("duration", song.duration());
map.insert("fingerprint", wstring2Utf8(song.fingerprint()));
map.insert("genre", wstring2Utf8(song.genre()));
map.insert("title", wstring2Utf8(song.title()));
map.insert("year", song.year());
return map;
}