nlohmann/json 소개: Modern C++을 위한 JSON
May 11, 2025
# JSON
Emily Parker
Product Engineer · Leapcell

Key Takeaways
nlohmann/json
은 쉬운 JSON 처리를 위한 헤더 전용 C++ 라이브러리입니다.- STL 및 최신 C++ 기능과 자연스럽게 통합됩니다.
- 사용자 정의 타입 직렬화는
to_json
및from_json
을 통해 지원됩니다.
nlohmann/json
라이브러리는 종종 "JSON for Modern C++"라고 불리며, C++에서 JSON 데이터를 쉽게 다룰 수 있도록 해주는 인기 있는 오픈 소스 헤더 전용 라이브러리입니다. 직관적인 구문을 제공하며 C++의 표준 템플릿 라이브러리(STL)와 원활하게 통합되어 개발자가 JSON 파싱 및 직렬화를 간단하게 수행할 수 있도록 합니다.
주요 기능
- 헤더 전용 라이브러리: 별도의 컴파일이 필요 없으며, 프로젝트에 헤더 파일만 포함하면 됩니다.
- 최신 C++ 통합: 초기화 리스트, 타입 추론, 범위 기반 루프와 같은 C++11 기능을 활용합니다.
- STL 호환성:
std::vector
,std::map
,std::unordered_map
과 같은 STL 컨테이너와 원활하게 작동합니다. - 직렬화 지원: JSON과 사용자 정의 C++ 타입 간에 쉽게 변환할 수 있습니다.
- 포괄적인 문서: 개발자를 지원하기 위해 광범위한 예제와 API 참조가 제공됩니다.
시작하기
설치
nlohmann/json
은 헤더 전용 라이브러리이므로 설치가 간단합니다.
-
헤더 다운로드: 공식 GitHub 저장소에서
json.hpp
파일을 다운로드합니다. -
프로젝트에 포함:
json.hpp
를 프로젝트의 include 경로에 넣습니다. -
코드에 포함: C++ 소스 파일에서 헤더를 포함합니다.
#include <nlohmann/json.hpp> using json = nlohmann::json;
기본 사용법
JSON 객체 생성
초기화 리스트를 사용하여 JSON 객체를 생성할 수 있습니다.
json j = { {"name", "John Doe"}, {"age", 30}, {"is_student", false}, {"skills", {"C++", "Python", "JavaScript"}} };
JSON 문자열 파싱
JSON 문자열을 파싱하려면:
std::string json_str = R