首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用时间戳制作QJsonObject的密钥

用时间戳制作QJsonObject的密钥
EN

Stack Overflow用户
提问于 2019-04-04 07:55:45
回答 1查看 103关注 0票数 0

我的代码的目标是以json格式编写日志,并具有划时代的时间戳。

我希望我的代码按下面的方式编写日志。

代码语言:javascript
复制
{234231412:{"user":"alex", "device":"HD-3432", "action":"connectin to server}}

这是我的代码,它无法构建。

代码语言:javascript
复制
void writeLog(const QJsonObject &jsonLog) {
    qint64 timestamp = QDateTime::currentSecsSinceEpoch();
    QString strTimestamp = QString::number(timestamp);
    QJsonObject jsonObj[strTimestamp] = jsonLog;
    QJsonDocument log(jsonObj);

    static QFile f(FireRest::logFile);
    if (!f.isOpen()) {
        f.open(QIODevice::WriteOnly | QIODevice::Append);
    }
    static QTextStream ts(&f);
    QString t;
    t.sprintf("%s\n", log.toString());

    ts << t << endl;

    QString fpo(logFile + QString(".old"));
    if (f.size() > MAX_LOG_FILE_SIZE) {
        f.close();
        QFile::remove(fpo);
        QFile::rename(logFile, fpo);
    }
}

QJsonObject jsonObj[strTimestamp] = jsonLog;使数组的大小具有非整数类型'QString‘。

QJsonDocument log(jsonObj);使变量具有不完全类型'QJsonDocument‘

我怎么才能修好呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-04 08:18:02

看起来像这条线

代码语言:javascript
复制
QJsonObject jsonObj[strTimestamp] = jsonLog;

意味着您正在创建一个QJsonObject数组。

尝试创建QJsonObject实例,然后分配属性strTimestamp

代码语言:javascript
复制
QJsonObject jsonObj;
jsonObj[strTimestamp] = jsonLog;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55510655

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档