qml json object转C++ QString

QML: json为c++通过setContextProperty注册进去的实例,passJson为该实例的一个槽函数,如果不清楚请自行百度c++和qml的交互
 
            var p = {
                "url" : "127.0.0.1",
                "data" : 23
            }
            json.passJson({
                            "url" : "127.0.0.1",
                            "data" : 23,
                             "country": "中国"
                        })
C++:可以通过QJSValue传递qml的Json变量,先转换成QVariant后转换成QJsonObject
void Json::passJson(QJSValue v)
{
    QJsonObject jsonObject = v.toVariant().toJsonObject();
    QString jsonString = QJsonDocument(jsonObject).toJson();
    qDebug() << jsonString;
}

猜你喜欢

转载自blog.csdn.net/weixin_28927079/article/details/107233778