在pro中添加 QT += script
解析QJsonObject
-
#include <QCoreApplication>
-
#include <QtScript>
-
-
// JSON格式的前缀
-
#define J_ID “id”
-
#define J_NICK “nick”
-
#define J_ZHUANYE “zhuanye”
-
#define J_AGE “age”
-
-
int main(int argc, char *argv[])
-
{
-
QCoreApplication a(argc, argv);
-
// 构造QJSonObject
-
QJsonObject json_object;
-
json_object.insert(J_ID,
“1263”);
-
json_object.insert(J_NICK,
“lin”);
-
json_object.insert(J_AGE,
20);
-
json_object.insert(J_ZHUANYE,
“ruanjiangc”);
-
// 转换成QByteArray
-
QByteArray byte_array = QJsonDocument(json_object).toJson();
-
-
// 这时候发送byte_array
-
// 另外一端对byte_array进行解析
-
-
// QByteArray转换成QJsonObject
-
QJsonObject json_object2 = QJsonDocument::fromJson(byte_array).object();
-
qDebug() << json_object2.value(J_ID).toString();
-
qDebug() << json_object2.value(J_NICK).toString();
-
qDebug() << json_object2.value(J_AGE).toInt();
-
qDebug() << json_object2.value(J_ZHUANYE).toString();
-
-
return a.exec();
-
}
-
#include <QCoreApplication>
-
#include <QtScript>
-
-
// JSON格式的前缀
-
#define J_ID "id"
-
#define J_NICK "nick"
-
#define J_ZHUANYE "zhuanye"
-
#define J_AGE "age"
-
-
enum {
-
TAG_LOGIN,
-
TAG_LOGIN_OK,
-
TAG_LOGIN_FAIL,
-
TAG_REGISTER,
-
TAG_REGISTER_OK,
-
TAG_REGISTER_FAIL,
-
TAG_FIND_BACK
-
};
-
-
-
int main(int argc, char *argv[])
-
{
-
QCoreApplication a(argc, argv);
-
// 构造QJsonObject(从数据库中读取的时候是在循环里面构造)
-
QJsonObject json_object;
-
json_object.insert(J_ID,
"1263");
-
json_object.insert(J_NICK,
"lin");
-
json_object.insert(J_AGE,
20);
-
json_object.insert(J_ZHUANYE,
"ruanjiangc");
-
QJsonObject json_object2;
-
json_object2.insert(J_ID,
"2345");
-
json_object2.insert(J_NICK,
"jin");
-
json_object2.insert(J_AGE,
5);
-
json_object2.insert(J_ZHUANYE,
"ruanjiangc");
-
QJsonObject json_object3;
-
json_object3.insert(J_ID,
"9999");
-
json_object3.insert(J_NICK,
"qiu");
-
json_object3.insert(J_AGE,
21);
-
json_object3.insert(J_ZHUANYE,
"ruanjiangc");
-
QJsonObject json_object4;
-
json_object4.insert(J_ID,
"6666");
-
json_object4.insert(J_NICK,
"zhao");
-
json_object4.insert(J_AGE,
19);
-
json_object4.insert(J_ZHUANYE,
"ruanjiangc");
-
// 构造QJsonArray
-
QJsonArray json_array;
-
json_array.insert(
0, TAG_LOGIN);
-
json_array.insert(
1, json_object);
-
json_array.insert(
2, json_object2);
-
json_array.insert(
3, json_object3);
-
json_array.insert(
4, json_object4);
-
// 转换成QByteArray
-
QByteArray byte_array = QJsonDocument(json_array).toJson();
-
-
// 这时候发送byte_array
-
// 另外一端对byte_array进行解析
-
-
// QByteArray转换成QJsonArray
-
QJsonArray json_array2 = QJsonDocument::fromJson(byte_array).
array();
-
int tag = json_array2.at(
0).toInt();
-
qDebug() <<
"tag:" << tag;
-
for(
int i =
1; i < json_array2.size(); ++i) {
-
QJsonObject json = json_array2.at(i).toObject();
-
qDebug() << json.value(J_ID).toString();
-
qDebug() << json.value(J_NICK).toString();
-
qDebug() << json.value(J_AGE).toInt();
-
qDebug() << json.value(J_ZHUANYE).toString();
-
}
-
-
return a.exec();
-
}