2012-11-06 9 views
0

우리는 Json 라이브러리를 JsonCpp에서 libJson으로 전환하고 있습니다. JsonCpp에는 json 값의 객체 유형을 결정하는 유용한 함수가 있습니다. libjson에서이 정보를 얻을 수있는 평범한 방법이 있습니까? JsonCpp를 사용하여 예를 들어libjson에서 JSONNode 객체 유형을 확인하십시오.

, 우리는 다음과 같은 한 :

Json::Value property = properties[propertyName.get_utf8()]; 

if (property.isInt()) 
{ 
    // Do Something 
} 
else if (property.isUInt()) 
{ 
    // Do Something 
} 
else if (property.isDouble()) 
{ 
    // Do Something 
} 
else if (property.isString()) 
{ 
    // Do Something 
} 

는 JSONNode 문자열, INT 또는 더블이 있는지 확인하는 방법은 없나요. JSONNode 유형을 얻을 수 있지만 해당 노드 내의 값에 대한 객체 유형을 얻을 수 있는지 알고 있습니다. 내가 가진 예를 들어, 다음

JSONNode root(JSON_NODE); 
node.push_back(JSONNode("", "node")); 
node.push_back(JSONNode("", 10)); 
node.push_back(JSONNode("", 21.5f)); 
node.push_back(JSONNode("", true)); 

는 루트의 첫 번째 노드가 문자열, 두 번째의 int, 세 번째 부동 소수점 등이 포함되어 있는지 판단 할 수 있습니까?

답변

0

형식을 검사하는 것이 유일한 방법 인 것처럼 보입니다. 숫자가 아닌지 확인할 수는 있지만 정확하지는 않습니다. 이중의 int 인 경우에만 검사 할 수 있습니다.

관련 문제