Boost::property tree 를 이용한 json 스크립트 파싱

jjuiddong
Jjuiddong (토론 | 기여) 사용자의 2013년 3월 26일 (화) 21:27 판

이동: 둘러보기, 찾기

여러개의 속성을 가진 child 정보를 가져오는 방법

	"property" : [
		{
			"symbolname" : "CLobbyServer#1"
		},
		{
			"symbolname" : "CLobbyServer#1"
		}
	]

boost::property_tree 를 이용한 json 스크립트 파싱

boost::property_tree::read_json("filename", props);
ptree &children = props.get_child("property");
BOOST_FOREACH(ptree::value_type &vt, children)
{
	const string name = vt.second.get<string>("symbolname");
	... 
}

다른방식의 json 파싱

json 은 key, value 값으로 구성된 스크립트지만, 다음처럼 value값이 없이도 사용할 수 있다.

"collapse" : [
	"basic::s2c",  
	"login::s2c"
]

이 스크립트의 정보를 가져오는 방법은 다음과 같다. (이 예제의 특징은 key value 만 있고, data value는 없다는 점이다.)

ptree &collapse = g_Props.get_child("collapse");
BOOST_FOREACH(auto &child, collapse)
{
	if ("basic::s2c" == child.second.data())
		return true;
}
개인 도구
이름공간

변수
행위
둘러보기
도구모음