QT项目中通过数据封装实现Json结构和数据类之间的相互转换

目录

基本类型封装

1.对字符串类型的封装

2.对整型的封装

3.对枚举类型进行封装

3.对日期类型进行封装

数据信息类封装

1.数据信息体封装

2.数据信息集合封装

使用封装的数据结构

1.定义新的业务数据类型

2.使用新的数据类型

开发项目中最重要的组成部分非数据莫属了,这里介绍一种QT项目中的数据封装方法。方法中封装的数据能进行自我监测,发生变化之后主动向外部发送消息通知变化,同时封装的数据可以实现与JSON数据结构之间的相互转换,这对于数据持久化和网络请求是很有帮助的。

基本类型封装

为了提升代码的复用性,这里我们将通用的方法和属性与基本的属性类型封装到一起,方便程序的调用。基本类型之间的继承关系如下图所示:

DataDecorator是数据封装的基类,包含了数据内容的一些通用属性

StringDecorator是对字符串类型的属性的封装

IntDecorator是对整型类型的属性的封装

EnumeratorDecorator是对枚举类型的数据的封装

DateTimeDecorator是对日期类型的数据的封装

基本类型的数据基类如下,封装了属性字段需要的额外的辅助参数,以及与Json结构之间相互转化的方法接口:

//data-decorator.h
#ifndef DATADECORATOR_H
#define DATADECORATOR_H

#include <QJsonObject>
#include <QJsonValue>
#include <QObject>
#include <QScopedPointer>
  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农飞飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值