日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

cjson调用的实例 c++

發布時間:2025/5/22 c/c++ 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 cjson调用的实例 c++ 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

主類中文定義

#include <QtGui/QApplication> #include <QTextCodec>QTextCodec::setCodecForTr(QTextCodec::codecForLocale());QTextCodec::setCodecForLocale(QTextCodec::codecForLocale());QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());

宏定義:

enum dll_error_codes {STATUS_OK = 1, //成功狀態DOG_NOTFOUND=-1, //加密狗不存在DOG_INVVCODE = -2, //加密狗論證失敗DOG_SNERROR = -3, //加密狗序列號錯誤DOG_NOLOCAL =-4, //非本機加密狗DOG_GETDTAERROR =-5, //獲取加密狗數據失敗DOG_DATAERROR =-6, //加密狗數據非法DOG_CDSCOMERROR =-7, //服務器非本機加密狗硬盤序列號不匹配DOG_MACCOMERROR =-8, //服務器非本機加密狗MAC不匹配DOG_STATEERROR =-9, //加密狗使用狀態錯誤DOG_STATECLOSE =-10, //加密狗禁用DOG_TOOLERROR =-11, //工具類型不匹配DOG_TIMESRROR =-12, //注冊次數錯誤DOG_NOTIMES =-13, //注冊次數不足,請重新注冊DOG_VAILDATE =-14, //有效時間范圍錯誤DOG_WRITEERROR =-15, //加密狗寫入數據失敗DOG_REPLACERERROR =-16, //注冊時候拔出加密狗,更換了另外一個加密狗DOG_SERVERSN_ERROR =-17, //平臺下發序列號與本機獲取序列號不一致PC_TIMEERROR =-20, //本機電腦時間不正確PC_DOGDATAERROR =-21, //獲取本地磁盤與MAC失敗PC_DOG_CDSCOMERROR =-22,//非本機加密狗硬盤序列號不匹配PC_DOG_MACCOMERROR =-23,//非本機加密狗硬盤序列號不匹配PC_REGDATA_ERROR =-24, //接收到的PC注冊數據錯誤無法分割PC_REGTOOL_ERROR =-25, //平臺注冊類型不支持當前 工具PC_REGAUTH_NOERROR=-26, //授權碼不存在PC_REGAUTH_CKERROR =-27, //授權碼校驗值錯誤PC_REGAUTH_STATEERROR =-28, //授權碼狀態錯誤PC_TOOL_TYPEERROR =-29, //工具類型不正確,不能大于99SERVER_DOG_NOREGISTER =-30, //服務器加密狗不存在SERVER_DOG_CKERROR =-31, //加密狗校驗值錯誤SERVER_DOG_VENIDERROR =-32, //服務器加密狗VENID不匹配SERVER_DOG_DENIED =-33, //服務器禁用加密狗SERVER_DOG_DATAERROR =-34, //接收到服務器數據錯誤NET_PARM_ERROR =-40, //網絡參數錯誤IP端口配置錯誤config配置錯誤NET_WSAS_ERROR =-41, //網絡準備連接WSAStartup錯誤NET_CONN_ERROR =-42, //網絡連接錯誤NET_SEND_ERROR =-43, //網絡發送失敗NET_READ_ERROR =-44, //網絡接收失敗NET_DATA_INVALID =-45, //接收數據非法REG_OPEN_ERROR =-51, //打開注冊表失敗REG_DATA_ERROR =-52, //獲取注冊表信息失敗REG_WIITE_ERROR =-53, //寫入注冊表信息失敗COMMPORT_STATEERROR =-61, //通訊口未打開COMMPORT_READERROR =-62, //讀取數據失敗RSP_NO_TRAN = -94, //無此交易類型RSP_NO_PARSE=-95, //接收報文錯誤RSP_SYS_ERR =-96, //系統錯誤DATABASE_ERROR =-60, //服務器數據庫異常INIT_DENIED = -99, //動態庫未初始化};

調用動態庫:
MinipaydllFunction.h

在這里插入代碼片 // MinipaydllFunction.h: interface for the CMinipaydllFunction class. // //#if !defined(AFX_MINIPAYDLLFUNCTION_H__6617657F_2139_4A1D_B647_604E4F16D86D__INCLUDED_) #define AFX_MINIPAYDLLFUNCTION_H__6617657F_2139_4A1D_B647_604E4F16D86D__INCLUDED_#if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 //#include<windef.h>#include <list> #include <vector> #include <iostream> #include <Windows.h> //初始化 #include "publicfunction.h" //typedef list<FuWuQiData> LISTINTData; typedef vector<FuWuQiData> LISTINTVector; typedef int (__stdcall *InitDll)(int ttype,int &nTimes); /************************************************************************/ /* 獲取加密狗序列號 */ /************************************************************************/ typedef int (__stdcall *GetDogInfo)(unsigned char *idinfo,unsigned char *veninfo); /************************************************************************/ /* 注冊加密狗 */ /************************************************************************/ typedef int (__stdcall *RegIsterDog)(unsigned char *authcodeinfo,int &nTimes);//打開通訊口 typedef bool (__stdcall *OpenDevice)(DWORD dwVid, DWORD dwPid,int commType);//寫入藍牙名稱 typedef int (__stdcall *WriteSerialNum)(byte CmdHead,byte CmdKey,char *sSerialNumber,char *Masterkey,int nIndex,int &nTimes); //寫入21號文件數據 typedef int (__stdcall *Write21SnMainKey)(char *sSerialNumber,char *Masterkey,char *MasterkeyCk); //寫入時間 typedef int (__stdcall *WriteDateTime)();//次數遞減 typedef int (__stdcall *ReduDogTimes)(int &nTimes);//檢查服務工具版本是否可用 typedef int (__stdcall *TkVersion)(char* appid, char *VerBuf,char* outBuffer);//保存基本信息 typedef int (__stdcall *SaveBaseVersion)(char *VerBuf,int vsize,char *outBuf,int &outlen);//保存入庫基本信息 typedef int (__stdcall *SaveRkVersion)(char *VerBuf,int vsize,char *outBuf,int &outlen);//查詢基本信息 typedef int (__stdcall *SelectBaseVersion)(char *VerBuf,int vsize,char *outBuf,int &outlen);//從終端讀取設備基本信息 typedef int (__stdcall *ReadSnVersion)(char *outBuf,int &outlen);//查詢終端型號 typedef int (__stdcall *SelectModelInfo)(char *outBuf,int &outlen);//查詢終端顏色 typedef int (__stdcall *SelectProcColour)(char *outBuf,int &outlen);//查詢產品配置 typedef int (__stdcall *SelectProcName)(char *outBuf,int &outlen);//聯網查詢發送網絡心跳包 typedef int (__stdcall *Heartbeatpack)(char *outBuf,int &outlen);typedef int (__stdcall *SelectSNAndTUSN)(char *TUSN,int &iErrCode,char *outBuf);/發送SN號獲取秘鑰 typedef int (__stdcall *GetKeyToDevice)(char *VerBuf,int vsize,int &iErrCode,char *outBuf);//發送確認信息 typedef int (__stdcall *InfoReportSever)(char *TUSN,char *ERcode);下載成功返回0,失敗返回0x01//轉加密 typedef int (__stdcall *TransEncry)(unsigned char *keybuf,int keylen,unsigned char *keybufck,int keycklen,unsigned char *ranbuf,int ranlen,unsigned char *okeybuf,int *okeylen,unsigned char *okeybufck,int *okeycklen,unsigned char *oranbuf,int *oranlen,int *keymode,int *oindex); typedef int (__stdcall *CheckSaftdog)(unsigned char *outdata,int &nTimes,int itype); typedef int (__stdcall *UseSaftdog)(unsigned char *outdata,int &nTimes,int itype); typedef int (__stdcall *GeneratePollCode2)(char *pollCode); typedef int (__stdcall *RegerSaftdogTimes)(unsigned char *olddata,unsigned char *indata,unsigned char *erroutdata,int itype); /獲取售后維修數據 typedef int (__stdcall *ShouHouWeiXiu)(char *VerBuf,int vsize,char *outBuf,int &outlen,int &iErrCode);// /獲取售后維修數據明細 typedef int (__stdcall *ShouHouWeiXiuDetail)(char *VerBuf,int vsize,char *outBuf,int &outlen,int &iErrCode); /上送數據到數據庫 typedef int (__stdcall *ShouHouInforToSQL)(char *VerBuf,int vsize,char *outBuf,int &outlen,int &iErrCode); / typedef int (__stdcall *GetShouHouWeiXiuRecord)(char *VerBuf,int vsize,char *outBuf,int &outlen,int &iErrCode);class CMinipaydllFunction { public:CMinipaydllFunction();virtual ~CMinipaydllFunction();bool init();public: InitDll m_InitDll;GetDogInfo m_GetDogInfo;RegIsterDog m_RegIsterDog;OpenDevice m_OpenDevice;WriteSerialNum m_WriteSerialNum;Write21SnMainKey m_Write21SnMainKey;WriteDateTime m_WriteDateTime;ReduDogTimes m_ReduDogTimes;TkVersion m_TkVersion;SaveBaseVersion m_SaveBaseVersion;SaveRkVersion m_SaveRkVersion;SelectBaseVersion m_SelectBaseVersion;ReadSnVersion m_ReadSnVersion;SelectModelInfo m_SelectModelInfo;SelectProcColour m_SelectProcColour; // SelectProcName m_SelectProcName;Heartbeatpack m_Heartbeatpack;SelectSNAndTUSN m_SelectSNAndTUSN;GetKeyToDevice m_GetKeyToDevice;InfoReportSever m_InfoReportSever;TransEncry m_TransEncry;ShouHouWeiXiu m_ShouHouWeiXiu;ShouHouWeiXiuDetail m_ShouHouWeiXiuDetail;ShouHouInforToSQL m_ShouHouInforToSQL;GetShouHouWeiXiuRecord m_GetShouHouWeiXiuRecord;//調用加密狗注冊CheckSaftdog m_checkSaftdog;UseSaftdog m_useSaftdog;GeneratePollCode2 m_generatePollCode2;RegerSaftdogTimes m_RegerSaftdogTimes;private:HMODULE m_hlib;HMODULE m_hTranslib;HMODULE m_hdoglib; };#endif // !defined(AFX_MINIPAYDLLFUNCTION_H__6617657F_2139_4A1D_B647_604E4F16D86D__INCLUDED_)

MinipaydllFunction.cpp

// MinipaydllFunction.cpp: implementation of the CMinipaydllFunction class. // // #include "MinipaydllFunction.h" #include <QMessageBox> #ifdef _DEBUG #undef THIS_FILE static char THIS_FILE[]=__FILE__; #define new DEBUG_NEW #endif// // Construction/Destruction // CMinipaydllFunction::CMinipaydllFunction() {m_hlib = NULL; // m_hTranslib=NULL;init(); }CMinipaydllFunction::~CMinipaydllFunction() {}bool CMinipaydllFunction::init() {//QMessageBox::information(NULL, "Title", "調用開始", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);m_hlib = LoadLibrary(L"minipaydll.dll");if (m_hlib != NULL){//QMessageBox::information(NULL, "Title", "調用成功", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);m_InitDll =(InitDll)GetProcAddress(m_hlib, "InitDll");m_GetDogInfo =(GetDogInfo)GetProcAddress(m_hlib, "GetDogInfo");m_RegIsterDog =(RegIsterDog)GetProcAddress(m_hlib, "RegIsterDog"); m_OpenDevice = (OpenDevice)GetProcAddress(m_hlib, "OpenDevice");m_WriteSerialNum = (WriteSerialNum)GetProcAddress(m_hlib, "WriteSerialNum");m_Write21SnMainKey = (Write21SnMainKey)GetProcAddress(m_hlib, "Write21SnMainKey");m_WriteDateTime = (WriteDateTime)GetProcAddress(m_hlib, "WriteDateTime");m_ReduDogTimes = (ReduDogTimes)GetProcAddress(m_hlib, "ReduDogTimes"); m_TkVersion = (TkVersion)GetProcAddress(m_hlib, "TkVersion"); m_SaveBaseVersion = (SaveBaseVersion)GetProcAddress(m_hlib, "SaveBaseVersion");m_SaveRkVersion = (SaveRkVersion)GetProcAddress(m_hlib, "SaveRkVersion"); m_SelectBaseVersion = (SelectBaseVersion)GetProcAddress(m_hlib, "SelectBaseVersion");m_ReadSnVersion = (ReadSnVersion)GetProcAddress(m_hlib, "ReadSnVersion");m_SelectModelInfo = (SelectModelInfo)GetProcAddress(m_hlib, "SelectModelInfo");m_SelectProcColour = (SelectProcColour)GetProcAddress(m_hlib, "SelectProcColour"); // m_SelectProcName = (SelectProcName)GetProcAddress(m_hlib, "SelectProcName");m_Heartbeatpack = (Heartbeatpack)GetProcAddress(m_hlib, "Heartbeatpack");m_SelectSNAndTUSN = (SelectSNAndTUSN)GetProcAddress(m_hlib, "SelectSNAndTUSN");m_GetKeyToDevice = (GetKeyToDevice)GetProcAddress(m_hlib, "GetKeyToDevice");m_InfoReportSever = (InfoReportSever)GetProcAddress(m_hlib, "InfoReportSever"); m_ShouHouWeiXiu = (ShouHouWeiXiu)GetProcAddress(m_hlib, "ShouHouWeiXiu");m_ShouHouWeiXiuDetail = (ShouHouWeiXiuDetail)GetProcAddress(m_hlib, "ShouHouWeiXiuDetail");m_ShouHouInforToSQL = (ShouHouInforToSQL)GetProcAddress(m_hlib, "ShouHouInforToSQL");m_GetShouHouWeiXiuRecord = (GetShouHouWeiXiuRecord)GetProcAddress(m_hlib,"GetShouHouWeiXiuRecord"); //FreeLibrary(m_hlib);}else{return false;}m_hTranslib = LoadLibrary(L"secFunction.dll");if (m_hTranslib != NULL){ m_TransEncry = (TransEncry)GetProcAddress(m_hTranslib, "TransEncry");}m_hdoglib= LoadLibrary(L"dog_minipaydll.dll");if (m_hdoglib != NULL){m_checkSaftdog = (CheckSaftdog)GetProcAddress(m_hdoglib, "CheckSaftdog");m_useSaftdog = (UseSaftdog)GetProcAddress(m_hdoglib, "UseSaftdog");m_generatePollCode2 = (GeneratePollCode2)GetProcAddress(m_hdoglib, "GeneratePollCode2"); m_RegerSaftdogTimes = (RegerSaftdogTimes)GetProcAddress(m_hdoglib, "RegerSaftdogTimes");}else{return false;}return true; }

主類函數.h

#ifndef SHOUHOUTOOL_H #define SHOUHOUTOOL_H#include "json/cJSON.h" #include "json/minipay_code.h" #include "MinipaydllFunction.h" #include <QtGui/QDialog> #include "ui_shouhoutool.h" #include <QMessageBox> #include <QMenu> #include <QSettings> #include <QtCore/QtCore> #include <QDebug> #include <QStandardItemModel> #include <QListWidgetItem> #include <QListWidget>#include "inputsn.h"class ShouHouTool : public QDialog {Q_OBJECTpublic:ShouHouTool(QWidget *parent = 0, Qt::WFlags flags = 0);~ShouHouTool();void InitPara();CMinipaydllFunction *g_minipaydllFunction;QString m_qstrfatherJieDian;LISTINTVector list1;LISTINTVector m_vecmain;LISTINTVector m_vecmini;QString m_qstrMain;QString m_qstrmini;int m_recordtableLine;void objconnect();void addconfigini();bool bjudcomb;int ShouHouWeiXiuDeal( char *VerBuf,int vsize,char *outBuf,int &outlen,LISTINTVector &listvector);int ShouHouWeiXiuDetailDeal( char *VerBuf,int vsize,int errcode);int GetShouHouWeiXiuRecord( char *VerBuf,int vsize,char *outBuf,int &outlen,int &iErrCode);static DWORD WINAPI ReadVersion(LPVOID pParam);//發送線程private slots:void on_exit();void slotLoadList(int);void SendToSQL();void getPadIds();/*按鈕添加*/void onbutaddtoDetailInformation();//void startThread(); private:Ui::ShouHouToolClass ui;void mousePressEvent (QMouseEvent * event ); };#endif // SHOUHOUTOOL_H

主函數.cpp

#include "shouhoutool.h"ShouHouTool::ShouHouTool(QWidget *parent, Qt::WFlags flags): QDialog(parent, flags) {ui.setupUi(this);g_minipaydllFunction=new CMinipaydllFunction();objconnect();//addconfigini(); }ShouHouTool::~ShouHouTool() {delete[] g_minipaydllFunction; }void ShouHouTool::addconfigini() {QString ininame="";char tempbuf[1024]={0};char* tempname=NULL;QString iniFilePath = "/../config.ini"; iniFilePath = QCoreApplication::applicationDirPath() + "/Config.ini";QSettings settings(iniFilePath,QSettings::IniFormat); QString G1_fileName = settings.value("Setting/FactoryName").toString(); // ui.lineEdit_factory->setText(G1_fileName); }void ShouHouTool::objconnect() {//connect(ui.lineEdit, SIGNAL(textChanged(QString)), this, SLOT(on_lineEdit_sendNew()));//沒有QString,一調用就會死connect(ui.pushButton_getInfo,SIGNAL(clicked()), this, SLOT(startThread()));//添加//connect(ui.tableWidget,SIGNAL(customContextMenuRequested(QPoint)),this,SLOT(deleteCurrentLine(QPoint)));return; } void ShouHouTool::InitPara() {//ui.lineEdit->setStyleSheet( normalStyle); }void ShouHouTool::on_exit() {QApplication* app;app->exit(0); }void ShouHouTool::slotLoadList(int i) {char ch[1024]={0};char outBuf[1024]={0x00};int outlen=0;int iErrCode=0;cJSON *rootdata;rootdata=cJSON_CreateObject();cJSON_AddStringToObject(rootdata,"info","");char *jsonBuf=cJSON_PrintUnformatted(rootdata);int result = g_minipaydllFunction->m_GetShouHouWeiXiuRecord(jsonBuf,strlen(jsonBuf),outBuf,outlen,iErrCode);if(iErrCode!=0){QString qstrmessage=outBuf;QMessageBox::warning(this,tr("Warning"),qstrmessage);return ;}return; }void ShouHouTool::SendToSQL() {cJSON *rootdata;rootdata=cJSON_CreateObject();/*cJSON_AddStringToObject(rootdata,"FAC_ID","");cJSON_AddStringToObject(rootdata,"MIDDLE_CODE","");cJSON_AddStringToObject(rootdata,"SERIAL_NO","");cJSON_AddStringToObject(rootdata,"FAULT_CLASS","");cJSON_AddStringToObject(rootdata,"FAULT_CAUSE","");cJSON_AddStringToObject(rootdata,"RETEST_FAILURE","");cJSON_AddStringToObject(rootdata,"FAULT_NUM","");cJSON_AddStringToObject(rootdata,"FAULT_LOCATION","");cJSON_AddStringToObject(rootdata,"REWORK_REP_TIMES","");cJSON_AddStringToObject(rootdata,"ABILITY","");cJSON_AddStringToObject(rootdata,"PROCESSING_METHOD","");cJSON_AddStringToObject(rootdata,"TESTER_CODE","");cJSON_AddStringToObject(rootdata,"MAINTENANCE_PER_CODE","");cJSON_AddStringToObject(rootdata,"STATE","");cJSON_AddStringToObject(rootdata,"INPUT_TIME","");cJSON_AddStringToObject(rootdata,"COMPLEITION_TIME","");cJSON_AddStringToObject(rootdata,"MAINT_DETAILS","");*///QString qstrmain="";QString qstrmini="";QString str ="";QString strmini ="";QMessageBox::warning(this,tr("Warning"),qstrmain);char main[50]={0};QByteArray ba = qstrmain.toLocal8Bit();memcpy(main,ba.data(),ba.size()+1);cJSON_AddStringToObject(rootdata,"FAULT_CLASS",main);char mini[50]={0};ba = qstrmini.toLocal8Bit();memcpy(mini,ba.data(),ba.size()+1);cJSON_AddStringToObject(rootdata,"FAULT_CAUSE",mini);int aa=0;FuWuQiData fad;char senddata[1024]={0};//memcpy(senddata,);char *jsonBuf=cJSON_PrintUnformatted(rootdata);char outBuf[1024]={0x00};int outlen=0;int iErrCode=-1;QMessageBox::warning(this,tr("Warning"),tr("開始發數據"));int result = g_minipaydllFunction->m_ShouHouInforToSQL(jsonBuf,strlen(jsonBuf),outBuf,outlen,iErrCode);if(iErrCode==0){QMessageBox::warning(this,tr("Warning"),tr("數據發完"));}return; }void ShouHouTool::mousePressEvent ( QMouseEvent * event ) {//QMessageBox::warning(this,tr("Warning"),tr("鼠標操作")); } void ShouHouTool::getPadIds() {QMessageBox::warning(this,tr("Warning"),tr("父類調用成功")); }void ShouHouTool::onbutaddtoDetailInformation() {char outValue[2048]={0x00};byte outTemp[512]={0x00};int iErrCode=-1;int outlen=0;cJSON *MBSInformation;cJSON *arrayItem;MBSInformation=cJSON_CreateObject();cJSON_AddStringToObject(MBSInformation,"SERIAL_NO","0000290220068442");cJSON_AddStringToObject(MBSInformation,"Position_number","");cJSON_AddStringToObject(MBSInformation,"MIDDLE_CODE","");cJSON_AddStringToObject(MBSInformation,"TOOLS_INFO" ,"");cJSON_AddStringToObject(MBSInformation,"TOOLS_ALIAS" ,"");char *jsonBuf=cJSON_PrintUnformatted(MBSInformation);int result=g_minipaydllFunction->m_GetShouHouWeiXiuRecord(jsonBuf,strlen(jsonBuf),outValue,outlen,iErrCode);if(result==STATUS_OK){ShouHouWeiXiuDetailDeal( outValue,outlen,iErrCode);}else{ui.textEditInfor->setText("獲取服務器數據失敗");}cJSON_Delete(MBSInformation);return ; }int ShouHouTool::ShouHouWeiXiuDeal( char *VerBuf,int vsize,char *outBuf,int &outlen,LISTINTVector &listvector) {char outValue[2048]={0x00};char outTemp[512]={0x00};QString strTemp=""; listvector.clear();int olen=0;int nlen=0; char*MySQLConnet=("服務器連接異常"); cJSON *MBSInformation;cJSON *object;MBSInformation=cJSON_CreateObject(); if (outValue[0] ==0x00){ outlen=0x00;nlen = ((VerBuf[1] << 8) & 0xFF00);nlen |= VerBuf[2] & 0xFF; memcpy(outTemp,VerBuf+3,nlen);MBSInformation=cJSON_Parse((char *)outTemp); cJSON *arrayItem = cJSON_GetObjectItem(MBSInformation,"FAULT_CODE");char data[1024]={0};if (arrayItem >0){strTemp =arrayItem->valuestring; int inum=cJSON_GetArraySize(arrayItem);cJSON*item;for(int i=0;i<inum;i++) {FuWuQiData fw;memset(fw.datafwq,0x00,sizeof(fw.datafwq));object=cJSON_GetArrayItem(arrayItem,i);item=cJSON_GetObjectItem(object,"id");memcpy((char*)(LPCTSTR)fw.id,item->valuestring,strlen(item->valuestring));item=cJSON_GetObjectItem(object,"text");memcpy((char*)(LPCTSTR)fw.datafwq,item->valuestring,strlen(item->valuestring)); listvector.push_back(fw);}}} cJSON_Delete(MBSInformation);return 0; }void ShouHouTool::startThread() {DWORD m_dwOpThreadID; //線程IDHANDLE m_hOpThread; //發送線程句柄m_hOpThread = CreateThread(NULL,0,ReadVersion,this,0,&m_dwOpThreadID);}DWORD WINAPI ShouHouTool::ReadVersion(LPVOID pParam) {ShouHouTool* dlg = (ShouHouTool*)pParam;dlg->onbutaddtoDetailInformation();return 0; }int ShouHouTool::ShouHouWeiXiuDetailDeal( char *VerBuf,int vsize,int iEEcode) {char outValue[2048]={0x00};char outTemp[1024]={0x00};QString strTemp=""; int olen=0;int nlen=0; QString strid="",strFAC_ID="",strMIDDLE_CODE="";QString strSERIAL_NO="",strFAULT_CLASS="", strFAULT_CAUSE="",strRETEST_FAILURE="";QString strFAULT_NUM="",strFAULT_LOCATION="", strREWORK_REP_TIMES="",strABILITY=""; QString strPROCESSING_METHOD="",strTESTER_CODE="",strMAINTENANCE_PER_CODE="",strSTATE="",strINPUT_TIME="",strCOMPLEITION_TIME="";QString strMAINT_DETAILS="", strCREATE_USER_NAME="",strCREATE_DATE_TIME="",strUPDATE_USER_NAME="",strUPDATE_DATE_TIME="";cJSON *MBSInformation,*arrayItem;MBSInformation=cJSON_CreateObject(); if (VerBuf[0] ==0x00 && olen > 0){ nlen = ((VerBuf[1] << 8) & 0xFF00);nlen |= VerBuf[2] & 0xFF; memcpy(outTemp,VerBuf+3,nlen);if (nlen >0){MBSInformation=cJSON_Parse((char *)outTemp); arrayItem = cJSON_GetObjectItem(MBSInformation,"ID");if (arrayItem >0){strid =arrayItem->valuestring;}///arrayItem =cJSON_GetObjectItem (MBSInformation,"FAC_ID");if (arrayItem >0){strFAC_ID =arrayItem->valuestring;}///arrayItem =cJSON_GetObjectItem (MBSInformation,"MIDDLE_CODE");if (arrayItem >0){strMIDDLE_CODE =arrayItem->valuestring;}///arrayItem =cJSON_GetObjectItem (MBSInformation,"SERIAL_NO");if (arrayItem >0){strSERIAL_NO =arrayItem->valuestring;}///arrayItem =cJSON_GetObjectItem (MBSInformation,"FAULT_CLASS");if (arrayItem >0){strFAULT_CLASS =arrayItem->valuestring;}///arrayItem =cJSON_GetObjectItem (MBSInformation,"FAULT_CAUSE");if (arrayItem >0){strFAULT_CAUSE =arrayItem->valuestring;}///arrayItem =cJSON_GetObjectItem (MBSInformation,"RETEST_FAILURE");if (arrayItem >0){strRETEST_FAILURE =arrayItem->valuestring;}arrayItem =cJSON_GetObjectItem (MBSInformation,"FAULT_NUM");if (arrayItem >0){strFAULT_NUM =arrayItem->valuestring;}arrayItem =cJSON_GetObjectItem (MBSInformation,"FAULT_LOCATION");if (arrayItem >0){strFAULT_LOCATION =arrayItem->valuestring;}arrayItem =cJSON_GetObjectItem (MBSInformation,"REWORK_REP_TIMES");if (arrayItem >0){strREWORK_REP_TIMES =arrayItem->valuestring;}arrayItem =cJSON_GetObjectItem (MBSInformation,"ABILITY");if (arrayItem >0){strABILITY =arrayItem->valuestring;}arrayItem =cJSON_GetObjectItem (MBSInformation,"PROCESSING_METHOD");if (arrayItem >0){strPROCESSING_METHOD =arrayItem->valuestring;}arrayItem =cJSON_GetObjectItem (MBSInformation,"TESTER_CODE");if (arrayItem >0){strTESTER_CODE =arrayItem->valuestring;}arrayItem =cJSON_GetObjectItem (MBSInformation,"MAINTENANCE_PER_CODE");if (arrayItem >0){strMAINTENANCE_PER_CODE =arrayItem->valuestring;}arrayItem =cJSON_GetObjectItem (MBSInformation,"STATE");if (arrayItem >0){strSTATE =arrayItem->valuestring;}arrayItem =cJSON_GetObjectItem (MBSInformation,"INPUT_TIME");if (arrayItem >0){strINPUT_TIME =arrayItem->valuestring;}arrayItem =cJSON_GetObjectItem (MBSInformation,"COMPLEITION_TIME");if (arrayItem >0){strCOMPLEITION_TIME =arrayItem->valuestring;}arrayItem =cJSON_GetObjectItem (MBSInformation,"MAINT_DETAILS");if (arrayItem >0){strMAINT_DETAILS =arrayItem->valuestring;}arrayItem =cJSON_GetObjectItem (MBSInformation,"CREATE_USER_NAME");if (arrayItem >0){strCREATE_USER_NAME =arrayItem->valuestring;}arrayItem =cJSON_GetObjectItem (MBSInformation,"CREATE_DATE_TIME");if (arrayItem >0){strCREATE_DATE_TIME =arrayItem->valuestring;}arrayItem =cJSON_GetObjectItem (MBSInformation,"UPDATE_USER_NAME");if (arrayItem >0){strUPDATE_USER_NAME =arrayItem->valuestring;}arrayItem =cJSON_GetObjectItem (MBSInformation,"UPDATE_DATE_TIME");if (arrayItem >0){strUPDATE_DATE_TIME =arrayItem->valuestring;}// strTemp =strMIDDLE_CODE+"|"+strSERIAL_NO+"|"+strFAULT_CLASS+"|"+strFAULT_CAUSE+"|"+strRETEST_FAILURE+"|"+strFAULT_NUM+"|"+strFAULT_LOCATION+"|"+strREWORK_REP_TIMES+"|"+strABILITY+"|"+strPROCESSING_METHOD+"|"+strTESTER_CODE+"|"+strMAINTENANCE_PER_CODE+"|"+strINPUT_TIME+"|"+strCOMPLEITION_TIME+"|"+strMAINT_DETAILS+"|"+strCREATE_USER_NAME+"|"+strCREATE_DATE_TIME+"|"+strUPDATE_USER_NAME+"|"+strUPDATE_DATE_TIME;ui.textEditInfor->setText(strTemp);}else{///ui.textEditInfor->setText("無法解析到數據");} }else { nlen = ((VerBuf[1] << 8) & 0xFF00);nlen |= VerBuf[2] & 0xFF; memcpy(outTemp,VerBuf+3,nlen);MBSInformation=cJSON_Parse((char *)outTemp); arrayItem =cJSON_GetObjectItem (MBSInformation,"msg");if (arrayItem >0){strTemp =arrayItem->valuestring;}ui.textEditInfor->setText(strTemp);} cJSON_Delete(MBSInformation);return 0; }int ShouHouTool::GetShouHouWeiXiuRecord( char *VerBuf,int vsize,char *outBuf,int &outlen,int &iErrCode) {char outValue[2048]={0x00};byte outTemp[512]={0x00};QString strTemp=""; QString strid="",strFAC_ID="",strMIDDLE_CODE="";QString strSERIAL_NO="",strFAULT_CLASS="", strFAULT_CAUSE="",strRETEST_FAILURE="";QString strFAULT_NUM="",strFAULT_LOCATION="", strREWORK_REP_TIMES="",strABILITY=""; QString strPROCESSING_METHOD="",strTESTER_CODE="",strMAINTENANCE_PER_CODE="",strSTATE="",strINPUT_TIME="",strCOMPLEITION_TIME="";QString strMAINT_DETAILS="", strCREATE_USER_NAME="",strCREATE_DATE_TIME="",strUPDATE_USER_NAME="",strUPDATE_DATE_TIME="";cJSON *MBSInformation;cJSON *arrayItem;MBSInformation=cJSON_CreateObject();cJSON_AddStringToObject(MBSInformation,"TUSN","");cJSON_AddStringToObject(MBSInformation,"Position_number","");cJSON_AddStringToObject(MBSInformation,"order_number","");cJSON_AddStringToObject(MBSInformation,"TOOLS_INFO" ,"");cJSON_AddStringToObject(MBSInformation,"TOOLS_ALIAS" ,"");char *jsonBuf=cJSON_PrintUnformatted(MBSInformation);g_minipaydllFunction->m_GetShouHouWeiXiuRecord(jsonBuf,strlen(jsonBuf),outBuf,outlen,iErrCode);int olen=0;int nlen=0; char*MySQLConnet=("服務器連接異常"); g_minipaydllFunction->m_GetShouHouWeiXiuRecord(jsonBuf,strlen(jsonBuf),outBuf,outlen,iErrCode);iErrCode=VerBuf[0]&0xff;if (VerBuf[0] ==0x00 && olen > 0){ nlen = ((VerBuf[1] << 8) & 0xFF00);nlen |= VerBuf[2] & 0xFF; memcpy(outTemp,VerBuf+3,nlen);if (nlen >0){MBSInformation=cJSON_Parse((char *)outTemp); cJSON* arrayItem = cJSON_GetObjectItem(MBSInformation,"ID");if (arrayItem >0){strid =arrayItem->valuestring;}///arrayItem =cJSON_GetObjectItem (MBSInformation,"FAC_ID");if (arrayItem >0){strFAC_ID =arrayItem->valuestring;}///arrayItem =cJSON_GetObjectItem (MBSInformation,"MIDDLE_CODE");if (arrayItem >0){strMIDDLE_CODE =arrayItem->valuestring;}///arrayItem =cJSON_GetObjectItem (MBSInformation,"SERIAL_NO");if (arrayItem >0){strSERIAL_NO =arrayItem->valuestring;}///arrayItem =cJSON_GetObjectItem (MBSInformation,"FAULT_CLASS");if (arrayItem >0){strFAULT_CLASS =arrayItem->valuestring;}///arrayItem =cJSON_GetObjectItem (MBSInformation,"FAULT_CAUSE");if (arrayItem >0){strFAULT_CAUSE =arrayItem->valuestring;}///arrayItem =cJSON_GetObjectItem (MBSInformation,"RETEST_FAILURE");if (arrayItem >0){strRETEST_FAILURE =arrayItem->valuestring;}arrayItem =cJSON_GetObjectItem (MBSInformation,"FAULT_NUM");if (arrayItem >0){strFAULT_NUM =arrayItem->valuestring;}arrayItem =cJSON_GetObjectItem (MBSInformation,"FAULT_LOCATION");if (arrayItem >0){strFAULT_LOCATION =arrayItem->valuestring;}arrayItem =cJSON_GetObjectItem (MBSInformation,"REWORK_REP_TIMES");if (arrayItem >0){strREWORK_REP_TIMES =arrayItem->valuestring;}arrayItem =cJSON_GetObjectItem (MBSInformation,"ABILITY");if (arrayItem >0){strABILITY =arrayItem->valuestring;}arrayItem =cJSON_GetObjectItem (MBSInformation,"PROCESSING_METHOD");if (arrayItem >0){strPROCESSING_METHOD =arrayItem->valuestring;}arrayItem =cJSON_GetObjectItem (MBSInformation,"TESTER_CODE");if (arrayItem >0){strTESTER_CODE =arrayItem->valuestring;}arrayItem =cJSON_GetObjectItem (MBSInformation,"MAINTENANCE_PER_CODE");if (arrayItem >0){strMAINTENANCE_PER_CODE =arrayItem->valuestring;}arrayItem =cJSON_GetObjectItem (MBSInformation,"STATE");if (arrayItem >0){strSTATE =arrayItem->valuestring;}arrayItem =cJSON_GetObjectItem (MBSInformation,"INPUT_TIME");if (arrayItem >0){strINPUT_TIME =arrayItem->valuestring;}arrayItem =cJSON_GetObjectItem (MBSInformation,"COMPLEITION_TIME");if (arrayItem >0){strCOMPLEITION_TIME =arrayItem->valuestring;}arrayItem =cJSON_GetObjectItem (MBSInformation,"MAINT_DETAILS");if (arrayItem >0){strMAINT_DETAILS =arrayItem->valuestring;}arrayItem =cJSON_GetObjectItem (MBSInformation,"CREATE_USER_NAME");if (arrayItem >0){strCREATE_USER_NAME =arrayItem->valuestring;}arrayItem =cJSON_GetObjectItem (MBSInformation,"CREATE_DATE_TIME");if (arrayItem >0){strCREATE_DATE_TIME =arrayItem->valuestring;}arrayItem =cJSON_GetObjectItem (MBSInformation,"UPDATE_USER_NAME");if (arrayItem >0){strUPDATE_USER_NAME =arrayItem->valuestring;}arrayItem =cJSON_GetObjectItem (MBSInformation,"UPDATE_DATE_TIME");if (arrayItem >0){strUPDATE_DATE_TIME =arrayItem->valuestring;}// strTemp =strMIDDLE_CODE+"|"+strSERIAL_NO+"|"+strFAULT_CLASS+"|"+strFAULT_CAUSE+"|"+strRETEST_FAILURE+"|"+strFAULT_NUM+"|"+strFAULT_LOCATION+"|"+strREWORK_REP_TIMES+"|"+strABILITY+"|"+strPROCESSING_METHOD+"|"+strTESTER_CODE+"|"+strMAINTENANCE_PER_CODE+"|"+strINPUT_TIME+"|"+strCOMPLEITION_TIME+"|"+strMAINT_DETAILS+"|"+strCREATE_USER_NAME+"|"+strCREATE_DATE_TIME+"|"+strUPDATE_USER_NAME+"|"+strUPDATE_DATE_TIME;ui.textEditInfor->setText(strTemp);}else{///nlen = ((outValue[1] << 8) & 0xFF00);nlen |= outValue[2] & 0xFF; memcpy(outTemp,outValue+3,nlen);MBSInformation=cJSON_Parse((char *)outTemp); arrayItem =cJSON_GetObjectItem (MBSInformation,"msg");if (arrayItem >0){strTemp =arrayItem->valuestring;}ui.textEditInfor->setText(strTemp);} }else { iErrCode =-1;memcpy((char*)outBuf,MySQLConnet,strlen(MySQLConnet));} cJSON_Delete(MBSInformation);return 0; }

總結

以上是生活随笔為你收集整理的cjson调用的实例 c++的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品毛片一区二区三区 | av片子在线观看 | 亚洲性综合| 99久久久国产 | 国产乱码精品1区2区3区 | 99香蕉视频 | 亚洲美女性生活 | 一级片毛片 | 免费淫片| 欧美高清一区二区 | 国精产品一品二品国精品69xx | 亚洲一区二区三区免费 | 欧美国产精品一区 | 黑人中文字幕一区二区三区 | 亚洲成人自拍偷拍 | 成人午夜精品一区二区 | 激情av中文字幕 | 日本一级吃奶淫片免费 | av电影在线不卡 | 免费看毛片网站 | 一级黄毛片 | 亚洲精品乱码久久久久久9色 | 最近中文字幕在线观看 | 三级黄色片免费 | 久久久情| 9l视频自拍九色9l视频 | 成人毛片视频免费看 | 久久综合成人 | 亲子伦视频一区二区三区 | 国产又黄又粗又长 | 一区二区在线视频播放 | 日韩免费一二三区 | 一级特黄aaa大片 | 日本老小玩hd老少配 | 97福利社| 在线观看日本中文字幕 | 偷偷操不一样的99 | 超碰网站在线 | 香蕉视频97 | 国产一区久久 | 欧美爱爱小视频 | 婷婷六月综合网 | 久久久久久久久久久久91 | 日韩av片在线 | 91免费成人 | 免费在线观看你懂的 | 91免费视| 亚洲色网址 | 99久久精品国产一区色 | 四虎在线看片 | 最新精品在线 | 国产精品午夜一区二区 | 在线观看视频亚洲 | 伊伊成人| 日韩欧美一区在线观看 | 国产精品久久久久三级无码 | 朴麦妮原版视频高清资源 | 狠狠干老司机 | 3d毛片 | 欧美freesex黑人又粗又大 | 色爱综合网 | 国产综合久久久 | 久久精品视频91 | 亚洲精品乱码久久久久久按摩观 | 97人妻精品一区二区三区动漫 | 黄色在线观看www | 91看毛片 | 老外一级黄色片 | 夏目彩春娇喘呻吟高潮迭起 | 久久久久久久穴 | 欧洲人妻丰满av无码久久不卡 | www.成人国产| 在线观看色网站 | 日本熟妇毛茸茸丰满 | 国产精品无码一区二区三 | 日本高清视频在线 | 制服丝袜一区二区三区 | 尤物网站在线观看 | 91av导航 | 特黄做受又粗又大又硬老头 | 69综合| 黑人巨大精品欧美一区二区免费 | 影音先锋成人网 | 懂色av中文一区二区三区天美 | 国产精品久久..4399 | cao我| 中文字幕在线免费观看视频 | 这里只有精品22 | 精品欧美乱码久久久久久 | 日本美女性爱视频 | 亚洲国产综合视频 | 国产熟女一区二区三区五月婷 | 林雅儿欧洲留学恋爱日记在线 | 91国产视频在线观看 | 男人的天堂97 | 天天做天天看 | 天天色影网 | 华人色 | 久久久久亚洲av无码专区体验 |