有时候界面输入的值,不想创建结构体,那么直接用QString类型传输,更便捷方便,速度更快
QJson是你选择的一种方式
组合:
#include #include #include #include #include int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); // 创建JSON对象 QJsonObject jsonObject; jsonObject["name"] = "John Doe"; jsonObject["age"] = 30; // 创建JSON数组 QJsonArray jsonArray; jsonArray.append("apple"); jsonArray.append("banana"); jsonArray.append("cherry"); // 将数组添加到对象中 jsonObject["fruits"] = jsonArray; // 创建JSON文档 QJsonDocument jsonDoc(jsonObject); // 将JSON文档转换为字符串 QString jsonString = jsonDoc.toJson(QJsonDocument::Indented); qDebug() << "JSON Data:" << jsonString; return a.exec(); }
解析:
#include #include #include #include #include int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); // JSON字符串 QString jsonString = R"( { "name": "John Doe", "age": 30, "fruits": ["apple", "banana", "cherry"] })"; // 将JSON字符串解析为JSON文档 QJsonDocument jsonDoc = QJsonDocument::fromJson(jsonString.toUtf8()); // 检查解析是否成功 if (jsonDoc.isNull() || !jsonDoc.isObject()) { qWarning() << "Failed to parse JSON"; return -1; } // 获取JSON对象 QJsonObject jsonObject = jsonDoc.object(); // 访问数据 QString name = jsonObject["name"].toString(); int age = jsonObject["age"].toInt(); QJsonArray fruitsArray = jsonObject["fruits"].toArray(); qDebug() << "Name:" << name; qDebug() << "Age:" << age; qDebug() << "Fruits:"; for (const QJsonValue &value : fruitsArray) { qDebug() << " -" << value.toString(); } return a.exec(); }
AI生成,有需求可以联系我
上一篇:四六级词汇小程序的设计
下一篇:MySQL第一次作业