int main() { int size; // 문서 크기 // 파일에서 JSON 문서를 읽음, 문서 크기를 구함 char *doc = readFile("example.json", &size); if (doc == NULL) return -1; JSON json = { 0, }; // JSON 구조체 변수 선언 및 초기화 parseJSON(doc, size, &json); // JSON 문서 파싱 printf("Title: %s\n", json.tokens[1].string); // 토큰에 저장된 문자열 출력(Title) printf("Year: %d\n", (int)json.tokens[3].number); // 토큰에 저장된 숫자 출력(Year) printf("Runtime: %d\n", (int)json.tokens[5].number); // 토큰에 저장된 숫자 출력(Runtime) printf("Genre: %s\n", json.tokens[7].string); // 토큰에 저장된 문자열 출력(Genre) printf("Director: %s\n", json.tokens[9].string); // 토큰에 저장된 문자열 출력(Director) printf("Actors:\n"); printf(" %s\n", json.tokens[11].string); // 토큰에 저장된 문자열 출력(Actors 배열의 요소) printf(" %s\n", json.tokens[12].string); // 토큰에 저장된 문자열 출력(Actors 배열의 요소) printf(" %s\n", json.tokens[13].string); // 토큰에 저장된 문자열 출력(Actors 배열의 요소) printf(" %s\n", json.tokens[14].string); // 토큰에 저장된 문자열 출력(Actors 배열의 요소) printf(" %s\n", json.tokens[15].string); // 토큰에 저장된 문자열 출력(Actors 배열의 요소) printf("imdbRating: %f\n", json.tokens[17].number); // 토큰에 저장된 숫자 출력(imdbRating) freeJSON(&json); // json 안에 할당된 동적 메모리 해제 free(doc); // 문서 동적 메모리 해제 return 0; }
int main() { int size; // 문서 크기 // 파일에서 JSON 문서를 읽음, 문서 크기를 구함 char *doc = readFile("example.json", &size); if (doc == NULL) return -1; JSON json = { 0, }; // JSON 구조체 변수 선언 및 초기화 parseJSON(doc, size, &json); // JSON 문서 파싱 printf("Title: %s\n", json.tokens[1].string); // 토큰에 저장된 문자열 출력(Title) printf("Genre: %s\n", json.tokens[3].string); // 토큰에 저장된 문자열 출력(Genre) printf("Director: %s\n", json.tokens[5].string); // 토큰에 저장된 문자열 출력(Director) printf("Actors:\n"); printf(" %s\n", json.tokens[7].string); // 토큰에 저장된 문자열 출력(Actors 배열의 요소) printf(" %s\n", json.tokens[8].string); // 토큰에 저장된 문자열 출력(Actors 배열의 요소) printf(" %s\n", json.tokens[9].string); // 토큰에 저장된 문자열 출력(Actors 배열의 요소) printf(" %s\n", json.tokens[10].string); // 토큰에 저장된 문자열 출력(Actors 배열의 요소) printf(" %s\n", json.tokens[11].string); // 토큰에 저장된 문자열 출력(Actors 배열의 요소) freeJSON(&json); // json 안에 할당된 동적 메모리 해제 free(doc); // 문서 동적 메모리 해제 return 0; }