php网站开发演讲稿,重庆渝网站建设,建筑英才网app,关键词歌词表达的意思简介
准备在开发板中使用json结构传送数据, 选用了cJson, 现在看下cJson的使用吧步骤
下载
git clone https://github.com/DaveGamble/cJSON
或者直接压缩包下载也行, 毕竟国内有时候下载不下来Qt 中使用cJson
在下载的cJson 目录中加入cJson.pri, 内容如下
INCLUDEPATH …简介
准备在开发板中使用json结构传送数据, 选用了cJson, 现在看下cJson的使用吧步骤
下载
git clone https://github.com/DaveGamble/cJSON
或者直接压缩包下载也行, 毕竟国内有时候下载不下来Qt 中使用cJson
在下载的cJson 目录中加入cJson.pri, 内容如下
INCLUDEPATH $$PWD
HEADERS \$$PWD/cJSON.h \$$PWD/cJSON_Utils.h \$$PWD/cJSON_util.hSOURCES \$$PWD/cJSON.c \$$PWD/cJSON_Utils.c
创建一个Qt工程 .pro中加入cJson.pri
例如 include(E:\workspace\cJson\cJSON\cJson.pri)
json结构解析代码 QByteArray jsonData {start_x: 1,start_y: 2,width: 100,height: 100,img_data: [2,3,4,5]
};
cJSON *json cJSON_Parse((const char*)jsonData.data());if (NULL json){logger(parse failed!);return;}cJSON *tempJson json-child;QString printString;/* 打印一下最外层的json数据 */do{printString.append(QString(name: %1, ).arg(QString::fromStdString(tempJson-string))); // 打印名称switch (tempJson-type){case cJSON_Invalid:printString.append(QString(cJSON_Invalid));break;case cJSON_False:printString.append(QString(cJSON_False));break;case cJSON_True :printString.append(QString(cJSON_True));break;case cJSON_NULL :printString.append(QString(cJSON_NULL));break;case cJSON_Number :printString.append(QString(cJSON_Number, %1).arg(tempJson-valueint));break;case cJSON_String :printString.append(QString(cJSON_String, %1).arg(QString::fromStdString(tempJson-valuestring)));break;case cJSON_Array :printString.append(QString(cJSON_Array));break;case cJSON_Object :printString.append(QString(cJSON_Object));break;case cJSON_Raw :printString.append(QString(cJSON_Raw));break;default:break;}logger(printString);printString.clear();tempJson tempJson-next;} while(tempJson);delete json;json NULL;测试 json 结构 { “start_x”: 1, “start_y”: 2, “width”: 100, “height”: 100, “img_data”: [4, 3, 2, 1] } 打印信息
name: start_x, cJSON_Number, 1 name: start_y, cJSON_Number, 2 name: width, cJSON_Number, 100 name: height, cJSON_Number, 100 name: img_data, cJSON_Array