void WorldController::queries(const QString &num)
{
    QVariantList worlds;
    int d = qMin(qMax(num.toInt(), 1), 500);

    for (int i = 0; i < d; ++i) {
        int id = Tf::random(9999) + 1;
        worlds << World::get(id).toVariantMap();
    }
    renderJson(worlds);
}
void WorldController::mupdates(const QString &num)
{
    QVariantList worlds;
    int d = qMin(qMax(num.toInt(), 1), 500);
    MngWorld world;

    for (int i = 0; i < d; ++i) {
        QString id = QString::number(Tf::random(9999) + 1);
        world = MngWorld::get(id);
        world.setRandomNumber( Tf::random(9999) + 1 );
        world.update();
        worlds << world.toVariantMap();
    }
    renderJson(worlds);
}
void WorldController::random()
{
    int id = Tf::random(9999) + 1;
    World world = World::get(id);
    renderJson(world.toVariantMap());
}
/*!
  Renders the \a list as a JSON array.
  This is available on Qt 5.
*/
bool TActionController::renderJson(const QStringList &list)
{
    return renderJson(QJsonArray::fromStringList(list));
}
/*!
  Renders the \a list as a JSON array.
  This is available on Qt 5.
*/
bool TActionController::renderJson(const QVariantList &list)
{
    return renderJson(QJsonArray::fromVariantList(list));
}
/*!
  Renders the \a map as a JSON object.
  This is available on Qt 5.
*/
bool TActionController::renderJson(const QVariantMap &map)
{
    return renderJson(QJsonObject::fromVariantMap(map));
}
/*!
  Renders the JSON array \a array as HTTP response.
  This is available on Qt 5.
*/
bool TActionController::renderJson(const QJsonArray &array)
{
    return renderJson(QJsonDocument(array));
}
/*!
  Renders the JSON object \a object as HTTP response.
  This is available on Qt 5.
*/
bool TActionController::renderJson(const QJsonObject &object)
{
    return renderJson(QJsonDocument(object));
}