用QT5将JSON通过Websocket发送



我已经尝试了

QJsonObject pC;
pC.insert("pC","false" "Uab" "CTOMAN" "1" "1" );
a=conexion.sendTextMessage(pC.value("pC").toString());

我应该从服务器中得到响应,问题很可能是在JSON的序列化中,但我不知道如何正确执行。

在JavaScript中声明的JSON,被证明是工作的

var pC = ["false", "Uab", "CTOMAN", 1, 1]

如果您要获得的JSON是

{
    "pC": [
        "false",
        "Uab",
        "CTOMAN",
        1,
        1
    ]
}

您可以使用QJsonArray,然后将其插入QJsonObject

QJsonObject json;
json["pC"] = QJsonArray() << "false" << "Uab" << "CTOMAN" << 1 << 1;
// Same as  json.insert("pC", QJsonArray() << "false" << "Uab" << "CTOMAN" << 1 << 1);

您必须小心的报价,如果要false作为字符串,则将其放在引号之间,如果您希望它为boolean类型,则请 not 将其包含在引号中。数字相同,如果您想要数字为integer,则do 将其包装在引号中。

QJsonObject json;
json["booleanAndInt"]    = QJsonArray() <<  false  <<  1;
json["booleanAndString"] = QJsonArray() <<  false  << "1";
json["stringAndInt"]     = QJsonArray() << "false" <<  1;
json["stringAndString"]  = QJsonArray() << "false" << "1";

将创建以下JSON:

{
    "booleanAndInt": [
        false,
        1
    ],
    "booleanAndString": [
        false,
        "1"
    ],
    "stringAndInt": [
        "false",
        1
    ],
    "stringAndString": [
        "false",
        "1"
    ]
}

相关内容

  • 没有找到相关文章

最新更新