分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

QT解析和组装json

发布时间:2023-09-06 01:27责任编辑:赖小花关键词:jsjson

json这个小朋友熟悉又陌生,今天给同学们好好讲讲QT是如何使用json的,一句话:简单

1、什么是json?

A:json就是个<key,value>字符串

①一个json对象

{"name":"xupeidong","age":"18"}

②一个json数组里面嵌套json对象

[{"price": "1", "name": "1", "id": "1"}, {"price": "2", "name": "2", "id": "2"}, {"price": "3", "name": "3", "id": "3"}]

2、QT里面如何使用json

#include <QJsonDocument> ??//解析类,用于将json转换为QByteArrar,或从QByteArray解析出json#include <QJsonArray> ??// 封装json数组:["1","2","3"]#include <QJsonObject> ?// 封装json对象:{"name": "111","pass": 222}#include <QJsonParseError> //错误类

①json对象

组装:

QJsonObject json;json.insert("name", "111");json.insert("pass", 222);QJsonDocument doc;doc.setObject(json);QByteArray byte = document.toJson(QJsonDocument::Compact);

解析:

QJsonParseError error;QJsonDocument doc = QJsonDocument::fromJson(byte, &error); if(error.error == QJsonParseError::NoError) { ?????if(doc.isObject()) ?????{ ?????????QJsonObject obj = doc.object(); ????????if(obj.contains("name")) ?    {       QJsonValue value = obj.take("name");       qDebug() << value.toString();    } ???}}

②json数组

组装:

格式:"[\"000\",\"111\"]"QJsonArray json;json.insert(0, "000");json.insert(1, "111");QJsonDocument doc;doc.setArray(json);QByteArray byte = doc.toJson(QJsonDocument::Compact);
还可以插入json对象:格式:"[{\"0\":\"000\"},{\"1\":\"111\"}]"QJsonArray json;QJsonObject obj;obj.insert("0","000");json.insert(0, obj);QJsonObject obj1;obj1.insert("1","111");json.insert(1, obj1);QJsonDocument doc;doc.setArray(json);QByteArray byte = doc.toJson(QJsonDocument::Compact);

解析:

QJsonParseError error;QJsonDocument doc = QJsonDocument::fromJson(byte, &error); if(error.error == QJsonParseError::NoError) { ?????if(doc.isArray()) ?????{ ?????????QJsonArray array = doc.array(); ????????for(int i=0; i<array.size();i++) ???????{ ???????????QJsonValue value = array.at(i); ???????} ???}}

QT解析和组装json

原文地址:https://www.cnblogs.com/xupeidong/p/9401235.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved