使用 qt5 通过 websocket 发送 Json
Send Json over websocket with qt5
我试过了
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
类型,那么做 不 用引号括起来。同样适用于数字,如果你想要数字作为 integer
然后做 not 将它括在引号中。
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"
]
}
我试过了
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
类型,那么做 不 用引号括起来。同样适用于数字,如果你想要数字作为 integer
然后做 not 将它括在引号中。
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"
]
}