728x90
json에서 array를 만들기위해서 짠 샘플 소스이다.
memory leak이 있는 지 확인 하기 위해서 while문을 돌렸다.
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<json/json.h>
int main()
{
while(1)
{
json_object *myobj, *dataobj, *headerobj;
// 메모리 할당
myobj = json_object_new_object();
dataobj = json_object_new_object();
headerobj = json_object_new_object();
char ztemp[1024];
memset(ztemp, 0x00, sizeof(ztemp));
memcpy(ztemp, "test", sizeof(ztemp));
// create a json array
json_object *jarray = json_object_new_array();
json_object *test = json_object_new_object();
/* list */
json_object_object_add(test, "11", json_object_new_string("11"));
json_object_object_add(test, "22", json_object_new_string("22"));
json_object_object_add(test, "33", json_object_new_string("33"));
json_object_array_add(jarray, test);
json_object_object_add(test, "11", json_object_new_string("111"));
json_object_object_add(test, "22", json_object_new_string("222"));
json_object_object_add(test, "33", json_object_new_string("333"));
json_object_array_add(jarray, test);
json_object_object_add(dataobj, "mylistlist", jarray);
json_object_object_add(dataobj, "next", json_object_new_string(""));
json_object_object_add(myobj, "dataBody", dataobj);
json_object_object_add(headerobj, "carrier", json_object_new_string("KT"));
json_object_object_add(headerobj, "appVersion", json_object_new_string(".."));
json_object_object_add(myobj, "dataHeader", headerobj);
printf("myobj.to_string()=%s\n", json_object_to_json_string(myobj));
// 메모리 해제
json_object_put(test);
json_object_put(jarray);
json_object_put(headerobj);
json_object_put(dataobj);
json_object_put(myobj);
}
return 0;
}
728x90
'개발 업무(코딩)-개발자였을때 썼던..' 카테고리의 다른 글
c-json 라이브러리에 대한 고찰과 소수점 짜르는 소스 (0) | 2023.01.09 |
---|---|
C언어 HMAC SHA256 샘플코드(openssl dgst popen) (0) | 2023.01.09 |
C-JSON EXAMPLE 예제 #include<json/json.h> (0) | 2023.01.09 |
json 불필요한 공백,탭,개행 제거 (0) | 2023.01.09 |
embedded python with C (0) | 2023.01.09 |