Qt中常用的数据转化
QJsonArray
1,添加元素到 QJsonArray
QJsonArray jsonArray;
jsonArray.append("John");
jsonArray.append(25);
jsonArray.append(true);
2,访问 QJsonArray 的元素
QJsonArray jsonArray;
QJsonValue value = jsonArray.at(0);
QString name = value.toString();
3,迭代 QJsonArray 中的元素
QJsonArray jsonArray;
// 添加元素...
for (const QJsonValue& value : jsonArray) {
// 处理每个元素
if (value.isString()) {
QString strValue = value.toString();
// 处理字符串元素
} else if (value.isDouble()) {
double doubleValue = value.toDouble();
// 处理浮点数元素
}
// 其他类型的处理...
}
4,将 QJsonArray 转换为字符串
QJsonArray jsonArray;
// 添加元素...
QJsonDocument jsonDoc(jsonArray);
QString jsonString = jsonDoc.toJson(QJsonDocument::Compact);
5,QString 转Json
5.1,QString转QJsonArray
QString jsonString = "[1, 2, 3]";
QJsonDocument jsonDoc = QJsonDocument::fromJson(jsonString.toUtf8());
if (jsonDoc.isArray()) {
QJsonArray jsonArray = jsonDoc.array();
// 对 jsonArray 进行处理...
}
5.2,QString 转QJsonObject
QString jsonString = "{\"name\":\"John\", \"age\":25}";
QJsonDocument jsonDoc = QJsonDocument::fromJson(jsonString.toUtf8());
if (jsonDoc.isObject()) {
QJsonObject jsonObj = jsonDoc.object();
// 对 jsonObj 进行处理...
}
6,Json转QString
6.1,将 JSON 对象转换为 QString
QJsonObject jsonObject;
// 假设 jsonObject 已经包含了 JSON 数据
QJsonDocument jsonDoc(jsonObject);
QString jsonString = jsonDoc.toJson(QJsonDocument::Compact);
6.2,将 JSON 数组转换为 QString
QJsonArray jsonArray;
// 假设 jsonArray 已经包含了 JSON 数组数据
QJsonDocument jsonDoc(jsonArray);
QString jsonString = jsonDoc.toJson(QJsonDocument::Compact);
7.QByteArray与 QString相互转化
7.1,将 QByteArray 转换为 QString
QByteArray byteArray;
// 假设 byteArray 包含了字节数据
QString str = QString::fromUtf8(byteArray);
7.2,将 QString 转换为 QByteArray
QString str;
// 假设 str 包含了字符串数据
QByteArray byteArray = str.toUtf8();
char* cStr = byteArray.data();
8,char*与 QByteArray 相互转换
8.1,将 char* 转换为 QByteArray
char* cStr;
// 假设 cStr 是一个 C 风格字符串
QByteArray byteArray = QByteArray(cStr);
8.2,将 QByteArray 转换为 char*
QByteArray byteArray;
// 假设 byteArray 包含了字节数据
char* cStr = byteArray.data();