本文整理汇总了C++中JSONElement::getValue方法的典型用法代码示例。如果您正苦于以下问题:C++ JSONElement::getValue方法的具体用法?C++ JSONElement::getValue怎么用?C++ JSONElement::getValue使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类JSONElement
的用法示例。
在下文中一共展示了JSONElement::getValue方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: append
void JSONElement::append(const JSONElement& element)
{
if(!_json) {
return;
}
switch(element.getType()) {
case cJSON_False:
cJSON_AddFalseToObject(_json, element.getName().mb_str(wxConvUTF8).data());
break;
case cJSON_True:
cJSON_AddTrueToObject(_json, element.getName().mb_str(wxConvUTF8).data());
break;
case cJSON_NULL:
cJSON_AddNullToObject(_json, element.getName().mb_str(wxConvUTF8).data());
break;
case cJSON_Number:
cJSON_AddNumberToObject(_json, element.getName().mb_str(wxConvUTF8).data(), element.getValue().GetLong());
break;
case cJSON_String:
cJSON_AddStringToObject(_json,
element.getName().mb_str(wxConvUTF8).data(),
element.getValue().GetString().mb_str(wxConvUTF8).data());
break;
case cJSON_Array:
case cJSON_Object:
cJSON_AddItemToObject(_json, element.getName().mb_str(wxConvUTF8).data(), element._json);
break;
}
}
示例2: arrayAppend
void JSONElement::arrayAppend(const JSONElement& element)
{
if(!_json) {
return;
}
cJSON* p = NULL;
switch(element.getType()) {
case cJSON_False:
p = cJSON_CreateFalse();
break;
case cJSON_True:
p = cJSON_CreateTrue();
break;
case cJSON_NULL:
p = cJSON_CreateNull();
break;
case cJSON_Number:
p = cJSON_CreateNumber(element.getValue().GetDouble());
break;
case cJSON_String:
p = cJSON_CreateString(element.getValue().GetString().mb_str(wxConvUTF8).data());
break;
case cJSON_Array:
case cJSON_Object:
p = element._json;
break;
}
if(p) {
cJSON_AddItemToArray(_json, p);
}
}
示例3: getDocumentStr
string JSONUtil::getDocumentStr(const JSONElement& doc)
{
string jsonText;
if(doc.getType()==JSONElement::JSON_OBJECT)
jsonText += "{";
else
jsonText += "[";
if(doc.hasChildren())
{
for (int var = 0; var < (int)doc.getChildren().size(); ++var) {
JSONElement* child = doc.getChildren().at(var);
if(doc.getType()==JSONElement::JSON_OBJECT)
jsonText += "\"" + child->getName() + "\":";
if(child->getType()==JSONElement::JSON_OBJECT || child->getType()==JSONElement::JSON_ARRAY)
{
jsonText += getDocumentStr(*child);
}
else
{
if(child->getType()==JSONElement::JSON_STRING)
jsonText += "\"" + child->getValue() + "\"";
else
jsonText += child->getValue();
}
if(var!=(int)doc.getChildren().size()-1)
{
jsonText += ", ";
}
}
}
if(doc.getType()==JSONElement::JSON_OBJECT)
jsonText += "}";
else
jsonText += "]";
return jsonText;
}
示例4: getObjectPrimitiveValue
void* JSONSerialize::getObjectPrimitiveValue(void* _1, string className, string propName)
{
JSONElement* root = (JSONElement*)_1;
if((className=="signed" || className=="int" || className=="signed int"))
{
int *vt = new int;
*vt = CastUtil::lexical_cast<int>(root->getValue());
return vt;
}
else if((className=="unsigned" || className=="unsigned int"))
{
unsigned int *vt = new unsigned int;
*vt = CastUtil::lexical_cast<unsigned int>(root->getValue());
return vt;
}
else if((className=="short" || className=="short int" || className=="signed short" || className=="signed short int"))
{
short *vt = new short;
*vt = CastUtil::lexical_cast<short>(root->getValue());
return vt;
}
else if((className=="unsigned short" || className=="unsigned short int"))
{
unsigned short *vt = new unsigned short;
*vt = CastUtil::lexical_cast<unsigned short>(root->getValue());
return vt;
}
else if((className=="long" || className=="long int" || className=="signed long" || className=="signed long int"))
{
long *vt = new long;
*vt = CastUtil::lexical_cast<long>(root->getValue());
return vt;
}
else if((className=="unsigned long" || className=="unsigned long int"))
{
unsigned long *vt = new unsigned long;
*vt = CastUtil::lexical_cast<unsigned long>(root->getValue());
return vt;
}
else if((className=="long long" || className=="long long int" || className=="signed long long int"))
{
long long *vt = new long long;
*vt = CastUtil::lexical_cast<long long>(root->getValue());
return vt;
}
else if((className=="unsigned long long" || className=="unsigned long long int"))
{
unsigned long long *vt = new unsigned long long;
*vt = CastUtil::lexical_cast<unsigned long long>(root->getValue());
return vt;
}
else if((className=="char" || className=="signed char"))
{
char *vt = new char;
*vt = root->getValue().at(0);
return vt;
}
else if(className=="unsigned char")
{
unsigned char *vt = new unsigned char;
*vt = root->getValue().at(0);
return vt;
}
else if(className=="Date")
{
DateFormat formt("yyyy-mm-dd hh:mi:ss");
return formt.parse(root->getValue());
}
else if(className=="BinaryData")
{
return BinaryData::unSerilaize(root->getValue());
}
else if(className=="float")
{
float *vt = new float;
*vt = CastUtil::lexical_cast<float>(root->getValue());
return vt;
}
else if(className=="double")
{
double *vt = new double;
*vt = CastUtil::lexical_cast<double>(root->getValue());
return vt;
}
else if(className=="long double")
{
long double *vt = new long double;
*vt = CastUtil::lexical_cast<long double>(root->getValue());
return vt;
}
else if(className=="bool")
{
bool *vt = new bool;
*vt = CastUtil::lexical_cast<bool>(root->getValue());
return vt;
}
else if(className=="std::string" || className=="string")
{
string *vt = new string;
*vt = root->getValue();
//.........这里部分代码省略.........
示例5: addPrimitiveElementToContainer
void JSONSerialize::addPrimitiveElementToContainer(void* _1, int counter, string className, void* cont, string container)
{
JSONElement* root = (JSONElement*)_1;
JSONElement ele = *(root->getChildren().at(counter));
if(className=="std::string" || className=="string")
{
string retVal = ele.getValue();
addValueToNestedContainer(container, retVal, cont);
}
else if(className=="int")
{
int retVal = CastUtil::lexical_cast<int>(ele.getValue());
addValueToNestedContainer(container, retVal, cont);
}
else if(className=="short")
{
short retVal = CastUtil::lexical_cast<short>(ele.getValue());
addValueToNestedContainer(container, retVal, cont);
}
else if(className=="long")
{
long retVal = CastUtil::lexical_cast<long>(ele.getValue());
addValueToNestedContainer(container, retVal, cont);
}
else if(className=="long long")
{
long long retVal = CastUtil::lexical_cast<long long>(ele.getValue());
addValueToNestedContainer(container, retVal, cont);
}
else if(className=="long double")
{
long double retVal = CastUtil::lexical_cast<long double>(ele.getValue());
addValueToNestedContainer(container, retVal, cont);
}
else if(className=="unsigned int")
{
unsigned int retVal = CastUtil::lexical_cast<unsigned int>(ele.getValue());
addValueToNestedContainer(container, retVal, cont);
}
else if(className=="unsigned short")
{
unsigned short retVal = CastUtil::lexical_cast<unsigned short>(ele.getValue());
addValueToNestedContainer(container, retVal, cont);
}
else if(className=="unsigned long")
{
unsigned long retVal = CastUtil::lexical_cast<unsigned long>(ele.getValue());
addValueToNestedContainer(container, retVal, cont);
}
else if(className=="unsigned long long")
{
unsigned long long retVal = CastUtil::lexical_cast<unsigned long long>(ele.getValue());
addValueToNestedContainer(container, retVal, cont);
}
else if(className=="float")
{
float retVal = CastUtil::lexical_cast<float>(ele.getValue());
addValueToNestedContainer(container, retVal, cont);
}
else if(className=="double")
{
double retVal = CastUtil::lexical_cast<double>(ele.getValue());
addValueToNestedContainer(container, retVal, cont);
}
else if(className=="bool")
{
bool retVal = CastUtil::lexical_cast<bool>(ele.getValue());
addValueToNestedContainer(container, retVal, cont);
}
else if(className=="char")
{
char retVal = CastUtil::lexical_cast<char>(ele.getValue());
addValueToNestedContainer(container, retVal, cont);
}
else if(className=="unsigned char")
{
unsigned char retVal = CastUtil::lexical_cast<unsigned char>(ele.getValue());
addValueToNestedContainer(container, retVal, cont);
}
}