# TcStruct **Repository Path**: liu_yiii/tc-struct ## Basic Information - **Project Name**: TcStruct - **Description**: Qt 结构体与Json互转 - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-05-15 - **Last Updated**: 2025-11-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TcStruct #### 介绍 Qt 结构体与Json互转 #### 软件架构 CPP QT JSON #### 安装教程 1. 定义结构体 ```cpp TC_STRUCT(TC, // 第一个参数是结构体的名字,后面的都是结构体内的内容 TC_STRUCT_KEY(id, int) // 第一个是变量名,第二个是变量类型 TC_STRUCT_KEY(sl, QStringList) TC_STRUCT_KEY(vl, QList) ) ``` #### 使用说明 1. 结构体转Json ```cpp TC t; t.id = 1; t.sl = QStringList{"1", "2"}; t.vl = QList{"vl1", QJsonObject{{"objk", "objv"}, {"objk2", 654}}}; QJsonObject obj = t.toJson(); ``` 2. Json转结构体 ```cpp TC t2; t2.fromJson(obj); ``` #### 注意事项 1. 如果出现 undefined reference staticMetaObject,按照tests.h中的处理方法即可 2. 目前QMap, QList等容器类仅支持QVariant(其它类型暂不支持 3. QSet不支持