1 QJsonObject 简单使用的接口
2 使用以上部分接口的代码示例
使用take函数获取的数据是JsonValue的,则会爆以下的错误
解决办法:
先调用toVariant()转换成变量,再调用toString()转换成字符串,当然,如果像转换成其他数据类型也可以,例如toInt() , toBool , toObject(),
QJsonObject obj;
//写入信息
obj.insert("name","张三");
obj.insert("age",16);
obj.insert("role","学生");
//根据key获取具体的值
qDebug() << "获取学生的角色" << obj.take("role");
qDebug() << "获取学生的名字" << obj["name"];
//遍历输出
QStringList keyList = obj.keys();
for(QString key : keyList){
qDebug() << key << obj[key];
}
//转换成字符串,直接+toString()是会输出为空的,要先转换成变量
QString msg1 = obj.take("age").toVariant().toString();
QString msg2 = obj.take("age").toString();
qDebug() << "msg1:" << msg1;
qDebug() << "msg2:" << msg2;
3 代码输出结果
获取学生的角色 QJsonValue(string, "学生")
获取学生的名字 QJsonValue(string, "张三")
"age" QJsonValue(double, 16)
"name" QJsonValue(string, "张三")
msg1: "16"
msg2: ""