• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ qjson::Serializer类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中qjson::Serializer的典型用法代码示例。如果您正苦于以下问题:C++ Serializer类的具体用法?C++ Serializer怎么用?C++ Serializer使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了Serializer类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: saveJSon

/*

{
    "topFace" : "~/burp/faceZ/.png",
    "bottomFace" : "~/burp/faceZ-/.png",
    "leftFace" : "~/burp/faceY/.png",
    "rightFace" : "~/burp/faceY-/.png",
    "frontFace" : "~/burp/faceX/.png",
    "backFace" : "~/burp/faceX-/.png",
    "frameStart" : 1,
    "frameStop" : 499,
    "outputWidth" : 4094,
    "antialiasing" : 1,
    "aaPattern" : "grid",
    "frames": [
          {"cubemap": 1, "fov": 180, "pitch" : 0, "yaw" : 0, "roll" : 0, "zoom" : 0},
          {"cubemap": 1, "fov": 180, "pitch" : 1, "yaw" : 2, "roll" : 3, "zoom" : 4},
          {"cubemap": 1, "fov": 180, "pitch" : 2, "yaw" : 3, "roll" : 4, "zoom" : 1},
          {"cubemap": 1, "fov": 180, "pitch" : 3, "yaw" : 4, "roll" : 1, "zoom" : 2},
          {"cubemap": 1, "fov": 180, "pitch" : 4, "yaw" : 1, "roll" : 2, "zoom" : 3}
        ]
}

  */
void JSonIO::saveJSon(QString filePath){
    QFile jsonFile(filePath);
    if (!jsonFile.open(QIODevice::WriteOnly | QIODevice::Text)){
        parserState = 1;
        return;
    }

    QVariantMap root;
    root.insert("outputFile", getOutputFile());
    root.insert("topFace", getTopFace());
    root.insert("bottomFace", getBottomFace());
    root.insert("leftFace", getLeftFace());
    root.insert("rightFace", getRightFace());
    root.insert("frontFace", getFrontFace());
    root.insert("backFace", getBackFace());
    root.insert("frameStart", getFrameStart());
    root.insert("frameStop", getFrameStop());
    root.insert("outputWidth", getOutputWidth());
    root.insert("antialiasing", getAntialiasing());
    root.insert("aaPattern", getAaPattern());
    root.insert("frames", frames);

    QJson::Serializer serializer;
    QByteArray json = serializer.serialize(root);
    QTextStream out(&jsonFile);
    out.setCodec("UTF-8");
    out << json;
    jsonFile.close();
    qDebug() << "Saved to " << filePath;
}
开发者ID:Jonsku,项目名称:Fulldome-Production-Toolkit,代码行数:54,代码来源:jsonio.cpp


示例2: closeIssue

void LYGithubManager::closeIssue(int issueNumber){
	if(!isAuthenticated() || repository_.isEmpty() || closeIssueReply_)
		return;

	LYGithubProductBacklogStatusLog::statusLog()->appendStatusMessage("Starting closeIssue request");

	QNetworkRequest request;

	QString commentURL = QString("https://api.github.com/repos/%1/issues/%2").arg(repository_).arg(issueNumber);
	request.setUrl(QUrl(commentURL));

	QString userInfo = userName_+":"+password_;
	QByteArray userData = userInfo.toLocal8Bit().toBase64();
	QString headerData = "Basic " + userData;
	request.setRawHeader("Authorization", headerData.toLocal8Bit());

	QVariantMap jdata;
	jdata["state"] = "closed";
	QJson::Serializer jserializer;
	QByteArray jsonData = jserializer.serialize(jdata);

	QBuffer *buffer = new QBuffer;
	buffer->setData(jsonData);
	buffer->open(QIODevice::ReadOnly);
	closeIssueReply_ = manager_->sendCustomRequest(request, "PATCH", buffer);
	buffer->setParent(closeIssueReply_);

	connect(closeIssueReply_, SIGNAL(readyRead()), this, SLOT(onCloseIssueReturned()));
}
开发者ID:i-am-l,项目名称:GithubProductBacklog,代码行数:29,代码来源:LYGithubManager.cpp


示例3: RequestSharingEntry

	void DriveManager::RequestSharingEntry (const QString& id,
			const QString& key)
	{
		QString str = QString ("https://www.googleapis.com/drive/v2/files/%1/permissions?access_token=%2")
				.arg (id, key);
		QNetworkRequest request (str);
		request.setHeader (QNetworkRequest::ContentTypeHeader, "application/json");

		QVariantMap map;
		map.insert ("kind", "drive#permission");
		map.insert ("id", "anyoneWithLink");
		map.insert ("role", "reader");
		map.insert ("type", "anyone");
		map.insert ("withLink", true);

		QJson::Serializer serializer;

		QNetworkReply *reply = Core::Instance ().GetProxy ()->
				GetNetworkAccessManager ()->post (request, serializer.serialize (map));
		Reply2Id_ [reply] = id;

		connect (reply,
				SIGNAL (finished ()),
				this,
				SLOT (handleRequestFileSharing ()));
	}
开发者ID:Kalarel,项目名称:leechcraft,代码行数:26,代码来源:drivemanager.cpp


示例4: updateFileContents

void LYGithubManager::updateFileContents(const QString &path, const QString &commitMessage, const QString &contents, const QString &sha){
	if(!isAuthenticated() || repository_.isEmpty() || updateFileContentsReply_)
		return;

	LYGithubProductBacklogStatusLog::statusLog()->appendStatusMessage("Starting updateFileContents request");

	QNetworkRequest request;

	QString updateFileContentsURL = QString("https://api.github.com/repos/%1/contents/%2").arg(repository_).arg(path);
	request.setUrl(QUrl(updateFileContentsURL));

	QString userInfo = userName_+":"+password_;
	QByteArray userData = userInfo.toLocal8Bit().toBase64();
	QString headerData = "Basic " + userData;
	request.setRawHeader("Authorization", headerData.toLocal8Bit());

	QVariantMap jdata;
	jdata["message"] = commitMessage;
	QByteArray encodedContent = contents.toLocal8Bit().toBase64();
	jdata["content"] = encodedContent;
	jdata["sha"] = sha;
	QJson::Serializer jserializer;
	QByteArray jsonData = jserializer.serialize(jdata);

	QBuffer *buffer = new QBuffer;
	buffer->setData(jsonData);
	buffer->open(QIODevice::ReadOnly);
	updateFileContentsReply_ = manager_->sendCustomRequest(request, "PUT", buffer);
	buffer->setParent(updateFileContentsReply_);

	connect(updateFileContentsReply_, SIGNAL(readyRead()), this, SLOT(onUpdateFileContentsReturned()));
}
开发者ID:i-am-l,项目名称:GithubProductBacklog,代码行数:32,代码来源:LYGithubManager.cpp


示例5: encode

QByteArray encode(const QVariant &claim, const QByteArray &key)
{
	if(!QCA::isSupported("hmac(sha256)"))
		return QByteArray();

	QJson::Serializer serializer;

	QVariantMap header;
	header["typ"] = "JWT";
	header["alg"] = "HS256";
	QByteArray headerJson = serializer.serialize(header);
	if(headerJson.isNull())
		return QByteArray();

	QByteArray claimJson = serializer.serialize(claim);
	if(claimJson.isNull())
		return QByteArray();

	QByteArray headerPart = base64url(headerJson);
	QByteArray claimPart = base64url(claimJson);

	QByteArray sig = jws_sign(headerPart, claimPart, key);

	return headerPart + '.' + claimPart + '.' + sig;
}
开发者ID:aedrish,项目名称:projecten_server1,代码行数:25,代码来源:jwt.cpp


示例6: call

bool Peer::call(const QString &method, const QVariant &params, const QVariant &id)
{
    if (method.startsWith("rpc.")
            || (params.type() != QVariant::List
                && params.type() != QVariant::Map
                && !params.isNull())
            || (id.type() != QVariant::String
                && id.type() != QVariant::Int
                && id.type() != QVariant::ULongLong
                && id.type() != QVariant::LongLong
                && id.type() != QVariant::Double
                && !id.isNull()))
        return false;

    QVariantMap object;

    object.insert("jsonrpc", "2.0");

    object.insert("method", method);

    if (!params.isNull())
        object.insert("params", params);

    object.insert("id", id);

    QJson::Serializer serializer;
    emit readyRequestMessage(serializer.serialize(object));
    return true;
}
开发者ID:Cata107,项目名称:blowthemall,代码行数:29,代码来源:peer.cpp


示例7: it

QByteArray
toJson( const QVariant &variant, bool* ok )
{
#if QT_VERSION >= QT_VERSION_CHECK( 5, 0, 0 )
    QVariant _variant = variant;
    if ( variant.type() == QVariant::Hash )
    {
        // QJsonDocument cannot deal with QVariantHash, so convert.
        const QVariantHash hash = variant.toHash();
        QVariantMap map;
        QHashIterator<QString, QVariant> it(hash);
        while ( it.hasNext() )
        {
            it.next();
            map.insert( it.key(), it.value() );
        }
        _variant = map;
    }

    QJsonDocument doc = QJsonDocument::fromVariant( _variant );
    if ( ok != NULL )
    {
        *ok = !doc.isNull();
    }
    return doc.toJson( QJsonDocument::Compact );
#else
    QJson::Serializer serializer;
    return serializer.serialize( variant, ok );
#endif
}
开发者ID:AidedPolecat6,项目名称:tomahawk,代码行数:30,代码来源:Json.cpp


示例8: getJson

QByteArray QuitSessionRequestJSON::getJson() const
{
  QJson::Serializer serializer;
  QVariantMap obj;
  obj.insert("auth_token", m_sessionToken);
  return serializer.serialize(obj);
}
开发者ID:OSLL,项目名称:geo2tag,代码行数:7,代码来源:QuitSessionRequestJSON.cpp


示例9: put

int HueBridgeConnection::put(const QString &path, const QVariantMap &params, QObject *sender, const QString &slot)
{
    if (m_baseApiUrl.isEmpty()) {
        qWarning() << "Not authenticated to bridge, cannot put" << path;
        return -1;
    }

    QUrl url(m_baseApiUrl + path);
    QNetworkRequest request;
    request.setUrl(url);

#if QT_VERSION >= 0x050000
    QJsonDocument jsonDoc = QJsonDocument::fromVariant(params);
    QByteArray data = jsonDoc.toJson();
#else
    QJson::Serializer serializer;
    QByteArray data = serializer.serialize(params);
#endif
//    qDebug() << "putting" << url << data;

    QNetworkReply *reply = m_nam->put(request, data);
    connect(reply, SIGNAL(finished()), this, SLOT(slotOpFinished()));
    m_requestIdMap.insert(reply, m_requestCounter);
    m_writeOperationList.append(reply);
    CallbackObject co(sender, slot);
    m_requestSenderMap.insert(m_requestCounter, co);
    return m_requestCounter++;
}
开发者ID:openium,项目名称:shine,代码行数:28,代码来源:huebridgeconnection.cpp


示例10: recent

Cache::~Cache() {
	QString error;
	write_file(directory() + "/cache-info", &error, recent().join("\n").toAscii());
	if (!error.isEmpty()) {
		qFatal("Unable to save cache: %s", qPrintable(error));
	}
	
	foreach (QString name, recent()) {
		if (!data().contains(name)) continue;
		
		qDebug() << "Saving cached data:" << name;
		
		QVariantMap map = data()[name].toMap();
		
		QString error; bool ok; QJson::Serializer serializer;
		write_file(directory() + '/' + name.replace('/', '-'), &error, serializer.serialize(map, &ok));
		if (!error.isEmpty()) {
			qWarning() << "Error while saving cache: " + error;;
			continue;
		}
		
		if (!ok) {
			error = INVALID_JSON + serializer.errorMessage();
			qWarning() << "Error while saving cache: " + error;
			continue;
		}
	}
}
开发者ID:sonrisesoftware,项目名称:weather-desktop,代码行数:28,代码来源:cache.cpp


示例11: respondOk

	void respondOk(ZhttpRequest *req, const QVariant &data, const QByteArray &prefix = QByteArray(), const QByteArray &jsonpCallback = QByteArray())
	{
		HttpHeaders headers;
		if(!jsonpCallback.isEmpty())
			headers += HttpHeader("Content-Type", "application/javascript");
		else
			headers += HttpHeader("Content-Type", "text/plain");

		QJson::Serializer serializer;
		QByteArray body;
		if(data.isValid())
			body = serializer.serialize(data);
		if(!prefix.isEmpty())
			body.prepend(prefix);

		if(!jsonpCallback.isEmpty())
		{
			QByteArray encBody = serializer.serialize(QString::fromUtf8(body));
			body = "/**/" + jsonpCallback + '(' + encBody + ");\n";
		}
		else if(!body.isEmpty())
			body += "\n"; // newline is required

		respond(req, 200, "OK", headers, body);
	}
开发者ID:aedrish,项目名称:projecten_server1,代码行数:25,代码来源:sockjsmanager.cpp


示例12: getJson

QByteArray RestorePasswordRequestJSON::getJson() const
{
    QJson::Serializer serializer;
    QVariantMap obj;
    obj.insert("email", m_usersContainer->at(0)->getEmail());
    return serializer.serialize(obj);
}
开发者ID:OSLL,项目名称:geo2tag,代码行数:7,代码来源:RestorePasswordRequestJSON.cpp


示例13: post

void GrooveRequest::post()
{
    QString cacheKey = generateCacheKey();

    if (cacheKey.length()) {
        qDebug() << Q_FUNC_INFO << "Possibly cached request";
        QString cachePath = QDesktopServices::storageLocation(QDesktopServices::CacheLocation) + "/libgroove/cache/api/" + cacheKey;
        QFile cacheFile(cachePath);
        if (cacheFile.open(QIODevice::ReadOnly)) {
            qDebug() << Q_FUNC_INFO << "Definitely cached request";
            QByteArray response = cacheFile.readAll();
            processData(response);
            return;
        }
    }

    m_request.setHeader(m_request.ContentTypeHeader, "application/json");

    QJson::Serializer serializer;

    qDebug() << Q_FUNC_INFO << "Posting to: " << m_request.url();
    qDebug() << Q_FUNC_INFO << serializer.serialize(buildRequest());

    QNetworkReply *reply = m_client->networkManager()->post(m_request, serializer.serialize(buildRequest()));
    connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), SIGNAL(error(QNetworkReply::NetworkError)));
    connect(reply, SIGNAL(finished()), SLOT(onFinished()));
}
开发者ID:dotblank,项目名称:libgroove,代码行数:27,代码来源:grooverequest.cpp


示例14: getJson

QByteArray DefaultResponseJSON::getJson() const
{
    QJson::Serializer serializer;
    QVariantMap obj;
    obj.insert("errno", m_errno);
    return serializer.serialize(obj);
}
开发者ID:OSLL,项目名称:geo2tag,代码行数:7,代码来源:DefaultResponseJSON.cpp


示例15: QString

/**
 * To JSON
 */
QString *WorkModel::toJSON() {
	QVariantMap variantMap = QJson::QObjectHelper::qobject2qvariant(this);
	QJson::Serializer serializer;
	QByteArray serializedArray = serializer.serialize(variantMap);
	QString *jsonString = new QString(QString::fromUtf8(serializedArray));
	return jsonString;
}
开发者ID:fjcano,项目名称:QT-ThankedWorker,代码行数:10,代码来源:WorkModel.cpp


示例16: getJson

QByteArray GetBlobResponseJSON::getJson() const
{
  QJson::Serializer serializer;
  QVariantMap obj;
  obj["errno"] = getErrno();
  obj.insert("blob", m_blob);
  return serializer.serialize(obj);
}
开发者ID:4ukuta,项目名称:core,代码行数:8,代码来源:GetBlobResponseJSON.cpp


示例17: encode

 /* -------------------------------------------------------------------------------------------
  *
  * ------------------------------------------------------------------------------------------- */
 QByteArray Message::encode(QString from, QString type, QVariantMap message) {
     QJson::Serializer serializer;
     QVariantMap msg;
     msg.insert("type",type);
     msg.insert("data",message);
     msg.insert("from",from);
     return serializer.serialize(msg);
 }
开发者ID:guyvdb,项目名称:Multi-Touch,代码行数:11,代码来源:Message.cpp


示例18: getJson

QByteArray LoginRequestJSON::getJson() const
{
    QJson::Serializer serializer;
    QVariantMap obj;
    obj.insert("login", m_usersContainer->at(0)->getLogin());
    obj.insert("password", m_usersContainer->at(0)->getPassword());
    return serializer.serialize(obj);
}
开发者ID:bakanov,项目名称:geo2tag,代码行数:8,代码来源:LoginRequestJSON.cpp


示例19: setFirstMessage

// convenience:
void
Connection::setFirstMessage( const QVariant& m )
{
    QJson::Serializer ser;
    const QByteArray ba = ser.serialize( m );
    //qDebug() << "first msg json len:" << ba.length();
    setFirstMessage( Msg::factory( ba, Msg::JSON ) );
}
开发者ID:Nskif,项目名称:tomahawk,代码行数:9,代码来源:Connection.cpp


示例20: getJson

QByteArray FilterPolygonRequestJSON::getJson() const
{
  // TODO it's necessary for symbian client
  QJson::Serializer serializer;
  QVariantMap obj;
  obj.insert("auth_token", m_sessionsContainer->at(0)->getSessionToken());
  return serializer.serialize(obj);
}
开发者ID:OSLL,项目名称:geo2tag,代码行数:8,代码来源:FilterPolygonRequestJSON.cpp



注:本文中的qjson::Serializer类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ qjsonobject::const_iterator类代码示例发布时间:2022-05-31
下一篇:
C++ qjson::Parser类代码示例发布时间:2022-05-31
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap