类型 | QJsonValue类型 |
bool | QJsonValue::Bool |
double | QJsonValue::Double |
string | QJsonValue::String |
array | QJsonValue::Array |
object | QJsonValue::Object |
null | QJsonValue::Null |
- QJsonValue fromVariant(const QVariant &variant)
- QVariant QJsonValue::toVariant() const
- QJsonValue::QJsonValue(const QJsonArray &a)
- QJsonObject QJsonValue::toObject() const
-
- QJsonValue::QJsonValue(const QJsonObject &o)
- QJsonArray QJsonValue::toArray() const
本文福利,莬费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QT嵌入式开发,Quick模块等等)↓↓↓↓↓↓见下面↓↓文章底部点击莬费领取↓↓
- QJsonObject jsonObject
- {
-
- {
- "key1", 1},
- {
- "key2", 6.6},
- {
- "key3", "Hello world"},
- {
- "array", QJsonArray({
- 1, 2, 3})}
- };
- QJsonObject jsonObject;
- jsonObject["key1"] = 1;
- jsonObject["key2"] = 6.6;
- jsonObject.insert("key3", "Hello world");
- jsonObject["array"] = QJsonArray({
- 1, 2, 3});
- QJsonObject fromVariantMap(const QVariantMap &map)
- QVariantMap QJsonObject::toVariantMap() const
- QJsonArray jsonArray = {
- 1, 6.6, QString("Hello world") };
- QJsonArray jsonArray;
- jsonArray.append(1);
- jsonArray.append(6.6);
- jsonArray.insert(2, "Hello world");
- QJsonArray fromVariantList(const QVariantList &list)
- QVariantList QJsonArray::toVariantList() const
一天,三兄弟玩得甚欢,管家有些烦恼,三兄弟年龄不小了,还整天捣蛋,苦不堪言,是时候帮它们解决人生大事了,让他们得老婆来管这三兄弟。管家暗暗窃喜。老夫赶紧将他们的资料(数据)转换为字符串发给对面Web端的大户人家先。
管家拿出QJsonDocument工具转换他们三兄弟的资料。
- QJsonDocument(const QJsonObject &object)
- QJsonDocument(const QJsonArray &array)
-
- QByteArray toJson() const
分别将QJsonObject与QJsonArray转换为QByteArray。
- QByteArray byteArray1 = QJsonDocument(jsonObject).toJson();
- QByteArray byteArray2 = QJsonDocument(jsonArray).toJson();
管家看了看,拿到资料了,不知道资料是否正确,还是要确保一下就使用isNull接口验证:
bool QJsonDocument::isNull() const // 如果返回为true则JSON数据解析不正确或为空。
焦急的管家等了几天,对面Web端怎么会没有答复的。正在焦虑走来走去,是不是资料不够好?还是发送出去格式不好看,看来要给他们弄弄格式,于是就找来了生成字符串的toJson来解决。
toJson面对焦急得管家自然也不敢怠慢,立马给出解决方案。
QByteArray toJson(QJsonDocument::JsonFormat format) const
- {
-
- "key1": 1,
- "key2": 6.6
- }
- {
- "key1":1,"key2":6.6}
管家修改了一下格式发出去,很快就收到对面妹子发送过来资料数据了,要快快解析看看。
管家先将QByteArray数据转换为QJsonDocument对象,然后再转换为QJsonObject或QJsonArray即可。
QJsonDocument fromJson(const QByteArray &json, QJsonParseError *error = nullptr)
管家看了看,老夫还是有点效果的。
QJsonDocument jsonDoc = QJsonDocument::fromJson("{\"address\":\"村口客栈见\",\"note\":\"带点吃的\"}");
管家又接收到了一封信,可是解析不出来,正在头皮发麻着思考到底是那一步出错了。
突然跳出一个人QJsonParseError说:管家这锅我来背,我帮你找出问题,但我又一个小小得要求,就是你也给我介绍介绍。
管家无奈只好答应。
- QJsonParseError jsonError;
- QJsonDocument jsonDoc = QJsonDocument::fromJson("{\"note\":\"二哥有点帅\"}", &jsonError);
- qDebug()<<jsonError.errorString();
小子你可以啊,原来fromJson还有这操作。
本文福利,莬费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QT嵌入式开发,Quick模块等等)↓↓↓↓↓↓见下面↓↓文章底部点击莬费领取↓↓