当前位置: 首页>>代码示例>>C++>>正文


C++ value::setobject方法代码示例

本文整理汇总了C++中json::value::setobject方法的典型用法代码示例。如果您正苦于以下问题:C++ value::setobject方法的具体用法?C++ value::setobject怎么用?C++ value::setobject使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在json::value的用法示例。


在下文中一共展示了value::setobject方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: if

/*!
	 * \brief Reads an object from the input stream into \p rv
	 */
bool parser_UTF8::readobject(JSON::value &rv){
	rv.setobject();
	if (*bfr.ptr != '{') return false;
	++bfr.ptr;

	bool first=true;
	while (1){
		astr curname;
		JSON::value curval;

		skipWS();
		if (bfr.ptr >= bfr.end){
			adderror(5);
			return false;
		}
		
		if (*bfr.ptr == '}'){
			++bfr.ptr;
			return true;
		}else if (*bfr.ptr != ','){
			if (first!=true){adderror(8);}
		}else{
			++bfr.ptr;
			skipWS();
			if (bfr.ptr >= bfr.end){
				adderror(5);
				return false;
			}
			if (*bfr.ptr == '}'){
				++bfr.ptr;
				return true;
			}
		}
		if (*bfr.ptr == ':'){
			adderror(6);
			createrandomname(curname);
		}else if (*bfr.ptr == '"'){
			readstring(curname);	
			if (bfr.ptr == bfr.end){
				adderror(5); return false;
			}
		}else{
			readunquotedstring(curname);
			//adderror(11); // While this is _technically_ an error, we don't want people to fail because of it
			if (bfr.ptr == bfr.end){
				adderror(5); return false;
			}
		}
		if (curname == A("")){
			adderror(7);
			createrandomname(curname);
		}

		skipWS();
		if (bfr.ptr == bfr.end){
			adderror(5); return false;
		}
		if (*bfr.ptr != ':'){
			adderror(6); 
			if (*bfr.ptr == '}'){  //this should allow recovery in some situations.
				++bfr.ptr;
			}
			return false;
		}
		++bfr.ptr;
		
		skipWS();
		if (bfr.ptr == bfr.end){
			adderror(5); return false;
		}

		getvalue(curval);
		rv.addvalue(curname.c_str(),curval);
		first=false;
	}
	return true;
}
开发者ID:stestagg,项目名称:Personal,代码行数:80,代码来源:parser_UTF8.cpp


注:本文中的json::value::setobject方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。