void Serializer::SerializeObject( const QObject *pObject, const QString &sName ) { m_hash.addData( sName.toUtf8() ); BeginObject( sName, pObject ); SerializeObjectProperties( pObject ); EndObject( sName, pObject ); }
void JSONSerializer::RenderValue( const QVariant &vValue ) { // ----------------------------------------------------------------------- // See if this value is actually a child object // ----------------------------------------------------------------------- if ( vValue.canConvert< QObject* >()) { const QObject *pObject = vValue.value< QObject* >(); bool bSavedCommaNeeded = m_bCommaNeeded; m_bCommaNeeded = false; m_Stream << "{"; SerializeObjectProperties( pObject ); m_Stream << "}"; m_bCommaNeeded = bSavedCommaNeeded; return; } // ----------------------------------------------------------------------- // Handle QVariant special cases... // ----------------------------------------------------------------------- switch( vValue.type() ) { case QVariant::List: RenderList ( vValue.toList() ); break; case QVariant::StringList: RenderStringList( vValue.toStringList() ); break; case QVariant::Map: RenderMap ( vValue.toMap() ); break; case QVariant::DateTime: { m_Stream << "\"" << Encode( MythDate::toString( vValue.toDateTime(), MythDate::ISODate ) ) << "\""; break; } default: { m_Stream << "\"" << Encode( vValue.toString() ) << "\""; break; } } }