[json-c] simple parsing example
Program Lang./C++ 2017. 1. 9. 14:451. 개요
c언어로 되어 있는 json library이다. 나는 관련 일을 하지 않고 단순히 이용만 하는 입장이라서 자세히는 모르지만 제 기억에 어떤 전문가께서 세미나 하는 것을 들었는데 json-c는 주의를 기울이지 않으면 memory leak에 취약하다고 들었던 것 기억이 있다. 일단 난 사용법 익히는데 집중한다.
2. json-c를 위한 cmake 수정 사항
할 때마다 매번 찾아봐야 해서 여기에 정리해 놓는다. 다른 방법이 있겠지만 나는 단순히 pkg-config로 cflags 값과 libs 위치확인하고 강제로 cmake에 막았다.
수정사항은 cflags (헤더파일 위치)를 위한 include_directories(/usr/local/include/json-c)
libs 관련 정보 : link_directories(/usr/local/lib), json-c (-l 플래그 관련 수정 사항)
3. json 기본 Type 테스트
json의 기본 타입은 아래와 같다.
- null
- boolean
- double
- int
- object
- array
- string
char형의 string을 json_tokener_parse() 함수를 통해서 json object로 변경한다. object내에 있는 각 값을 타입에 따라 parsing하는 예제이다. 입력 string은 하나의 큰 object에 string, boolean, integer, float, array, object로 구성되어 있다. 앞의 name, student, age, height, interestings, author-details는 key를 의미하고 각각 key와 오른쪽은 value이다.
여기서 array와 object는 추가적인 parsing이 더 들어가야 한다.
4. 실행결과
'Program Lang. > C++' 카테고리의 다른 글
enable_shared_from_this 정리 (0) | 2017.01.12 |
---|---|
[json-c] simple generator json ojbect (0) | 2017.01.09 |
std::function 정리 (0) | 2017.01.02 |
unique_ptr, shared_ptr 읽히기 (0) | 2016.12.30 |
c++ pair 읽히기 (0) | 2016.12.30 |