clsJson.cpp 2.8 KB


#include "clsJson.h"
#include <stdarg.h>
#include <string.h>

namespace DmapCore_30
{
    void clsJson::ParseEnum(const char *name, char *resultbuff, char* buff, int v, string a1, string a2 , string a3, string a4, string a5, string a6, string a7, string a8, string a9, string a10, string a11, string a12, string a13, string a14, string a15, string a16)
    {

        string vstring = a1;
        switch (v)
        {
        case 0: vstring = a1; break;
        case 1: vstring = a2; break;
        case 2: vstring = a3; break;
        case 3: vstring = a4; break;
        case 4: vstring = a5; break;
        case 5: vstring = a6; break;
        case 6: vstring = a7; break;
        case 7: vstring = a8; break;
        case 8: vstring = a9; break;
        case 9: vstring = a10; break;
        case 10: vstring = a11; break;
        case 11: vstring = a12; break;
        case 12: vstring = a13; break;
        case 13: vstring = a14; break;
        case 14: vstring = a15; break;
        case 15: vstring = a16; break;
        }
        sprintf(buff, "\"%s\":\"%s\",", name, vstring.c_str());
        strcat(resultbuff, buff);
    }

     void  clsJson::JsonAttrParse(const char* name,char* resultbuff,char* buff, string &v)
     {
         sprintf(buff, "\"%s\":\"%s\",", name, v.c_str());
         strcat(resultbuff, buff);
     }

      void  clsJson::JsonAttrParse(const char* name,char* resultbuff,char* buff, bool &v)
     {
         sprintf(buff, "\"%s\":\"%s\",", name, v?"true":"false");
         strcat(resultbuff, buff);
     }

 void  clsJson::JsonAttrParse(const char* name,char* resultbuff,char* buff, double &v)
     {
         sprintf(buff, "\"%s\":\"%0.2f\",", name,v);
         strcat(resultbuff, buff);
     }

      void  clsJson::JsonAttrParse(const char* name,char* resultbuff,char* buff, int &v)
     {
         sprintf(buff, "\"%s\":\"%d\",", name, v);
         strcat(resultbuff, buff);
     }

      void  clsJson::JsonAttrParse(const char* name,char* resultbuff,char* buff, long &v)
     {
         sprintf(buff, "\"%s\":\"%ld\",", name, v);
         strcat(resultbuff, buff);
     }

     void clsJson::JsonAttrEnd(char* resultbuff)
     {
         int len = strlen(resultbuff);
         if(len>0 && resultbuff[len-1] == ',')
         {
             resultbuff[len-1] = '}';
         }
         else
         {
            resultbuff[len] = '}';
            resultbuff[len+1] = 0;
         }
     }


     void clsJson::JsonAttrParseColor(const char* name,const char*name2,char* resultbuff,char* buff,unsigned int& value)
	{
		string sColor = "", sTransparency = "";
		//StringHelp::ColorToString(value, sColor, sTransparency);
		
        sprintf(buff, "\"%s\":\"%s\",\"%s\":\"%s\",", name, sColor.c_str(),name2,sTransparency.c_str());
        strcat(resultbuff, buff);
	}

} // namespace DmapDll