本文整理汇总了C++中PNode::add方法的典型用法代码示例。如果您正苦于以下问题:C++ PNode::add方法的具体用法?C++ PNode::add怎么用?C++ PNode::add使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PNode
的用法示例。
在下文中一共展示了PNode::add方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: name
LightSpeed::JSON::PNode dbResultToJsonObject(
LightSpeed::JSON::IFactory& factory, LightMySQL::Row& row, bool strDate) {
using namespace LightSpeed::JSON;
using namespace LightSpeed;
PNode obj = factory.newClass();
natural c = row.size();
for (natural i = 0; i < c; i++) {
const MYSQL_FIELD *fld = row.getResultObject().getFieldInfo(i);
ConstStrA name(fld->name,fld->name_length);
PNode nd = nil;
if (row[i].isNull()) {
nd = factory.newNullNode();
} else {
switch (fld->type) {
case MYSQL_TYPE_TINY:
case MYSQL_TYPE_SHORT:
case MYSQL_TYPE_LONG:
case MYSQL_TYPE_LONGLONG:
case MYSQL_TYPE_INT24: nd = factory.newValue(row[i].as<integer>());break;
case MYSQL_TYPE_TIMESTAMP:
case MYSQL_TYPE_DATE:
case MYSQL_TYPE_TIME:
case MYSQL_TYPE_DATETIME:
case MYSQL_TYPE_NEWDATE: nd = parseDateTime(factory,row[i].as<ConstStrA>(),strDate);break;
case MYSQL_TYPE_FLOAT:
case MYSQL_TYPE_DOUBLE: nd = factory.newValue(row[i].as<double>());break;
/* case MYSQL_TYPE_TINY_BLOB:
case MYSQL_TYPE_MEDIUM_BLOB:
case MYSQL_TYPE_LONG_BLOB:
case MYSQL_TYPE_BLOB:nd = factory.newValue(base64_encode(row[i].as<ConstStrA>()));
break;*/
case MYSQL_TYPE_SET: nd = createArrayFromSet(factory,row[i].as<ConstStrA>());break;
default: nd = factory.newValue(row[i].as<ConstStrA>());
break;
}
}
obj->add(name,nd);
}
return obj;
}