안녕하세요.


오늘은 jansson을 사용하여 json_pack()를 사용하는 방법에 대하여 알아보겠습니다.


다음 사이트를 참조하시면 더 많은 자료를 보실수 있습니다.


https://jansson.readthedocs.org/en/2.5/


제 PC 환경은 우분투 12.04 64 비트입니다.


자 본격적으로 시작해 보겠습니다.


다음 명령으로 jansson 라이브러리를 설치 합니다.


$ sudo apt-get install libjansson4 libjansson-dev -y


다음은 jansson을 이용한 예제 프로그램입니다.



#include <stdio.h>
#include <jansson.h>

int main ( void )
{
char *str;
json_t *root;

root = json_pack("{s:s, s:i}", "greeting", "Hello, World!", "number", 42);
        
str = json_dumps(root, JSON_ENCODE_ANY);

printf("str = %s\n", str);
return 0;
}


다음과 같이 컴파일 합니다.


$ gcc main.c -o main -ljansson


간단하게 프로그램을 설명해 보겠습니다.


json_pack()를 이용하여 데이터를 Json 포맷으로 만들수 있습니다.


json_pack의 인자로 {s:s, s:1} 이렇게 하는 것은, 


s:s는 "키 값에 해당하는 값이 문자열이다" 이며, 


s:i 는 "키 값에 해당하는 값은 정수 이다"라는 것입니다.


json_pack()의 내용을 출력하기 위해선 json_dumps()를 이용해야 합니다.


실행하면 다음과 같은 출력이 나옵니다.


$ ./main

str = {"greeting": "Hello, World!", "number": 42}