2014-11-18 6 views
2

나는 작업중인 프로그램의 일부로 std.json 라이브러리를보고 있었고, 데이터를 얻는 방법에 대해 다소 혼란 스럽습니다. 유형은 TRUE, FALSE 또는 NULL으로 추정됩니다. 예를 들어std.json - TRUE, FALSE 및 NULL 값과 혼동되는 비트

, 나는 다음과 같은 JSON 구문 분석하는 경우 :

{ 
    "foo" : "bar" 
} 

나는 다음과 같이 수행하여 속성 "foo"에서 개최 된 문자열을 추출 할 수 있습니다 :

auto json = parseJSON("/path/to/json/example.json"); 
auto foo_attr = json["foo"].str; 

을하지만 내가 가진 것을 대신 가정을 JSON은 다음과 같습니다.

{ 
    "foo" : false, 
    "bar" : true, 
    "baz" : null 
} 

t시에 얻으려면 어떻게해야합니까? 그는 "foo", "bar""baz"의 속성 값을 사용합니까?

답변

3

변수 유형을 확인하십시오.

auto json = parseJSON("/path/to/json/example.json"); 
bool foo = json["foo"].type == JSON_TYPE.TRUE; 
bool bar = json["bar"].type == JSON_TYPE.TRUE; 
bool bazIsNull = json["baz"].type == JSON_TYPE.NULL; 

물론 다른 유형의 값이있을 것으로 예상되는 경우 추가 체크가 필요합니다.