JSON을 C++로 변환
JSON 데이터를 C++ 코드로 변환합니다
JSON 입력
C++ 출력
JSON을 C++로 변환이란?
C++에는 기본 JSON 지원이 없습니다. nlohmann/json이나 RapidJSON 같은 라이브러리가 파싱을 처리합니다. 이 도구는 JSON에서 C++ struct와 클래스를 생성하여 데이터를 타입이 있는 구조에 매핑할 수 있게 합니다. JSON 명세가 입력 형식을 정의합니다.
변환은 브라우저에서 실행됩니다. 설정 패널에서 struct 이름과 선택적으로 네임스페이스를 설정하세요. 서버로 전송되는 데이터는 없습니다. 생성된 타입은 C++11 이상에서 동작합니다. 순수 C에는 JSON을 C로를 사용하세요.
이 도구 사용 방법
JSON 붙여넣기 또는 업로드
JSON을 붙여넣거나 파일을 업로드하세요. 설정 패널에서 struct 이름과 선택적으로 네임스페이스를 설정하세요. 유효하지 않은 JSON은 오류를 표시합니다. 먼저 JSON 검증기로 문법을 확인하세요.
C++ 출력 검토
오른쪽 패널에 생성된 C++ struct가 표시됩니다. 필요에 따라 nlohmann/json이나 RapidJSON의 include와 파싱 로직을 추가하세요. 배열은 std::vector 또는 유사한 컨테이너가 됩니다.
JSON을 C++로 변환 예시
JSON 객체에서 C++ struct를 생성하는 예시입니다.
예시: 가입자 레코드
JSON 입력:
생성된 C++ 출력:
JSON을 C++로 변환이 유용한 경우
REST API나 설정 파일을 사용하는 C++ 애플리케이션, 게임 엔진, 임베디드 시스템을 만들 때 JSON에 대한 타입이 있는 구조가 필요합니다. 여기에 샘플을 붙여넣으면 nlohmann/json이나 RapidJSON과 함께 사용할 수 있는 C++ struct와 클래스를 얻을 수 있습니다. 복잡한 중첩 JSON에 대한 타입을 수동으로 작성하는 것은 번거롭습니다. 이 도구는 샘플에서 구조를 추론합니다. 특정 값을 먼저 추출하려면 jq를 사용하세요.
자주 묻는 질문
어떤 JSON 라이브러리를 사용해야 하나요?
nlohmann/json은 헤더 전용으로 통합이 쉽습니다. RapidJSON은 대용량 페이로드에서 더 빠릅니다. 둘 다 널리 사용됩니다. nlohmann/json은 API가 더 단순하고, RapidJSON은 성능이 중요한 파싱에 적합합니다.
중첩 객체를 지원하나요?
네. 중첩 JSON 객체는 중첩 struct가 됩니다. 배열은 std::vector 또는 유사한 컨테이너가 됩니다. 생성기는 임의의 중첩 깊이를 지원합니다.
내 데이터는 안전한가요?
네. 생성은 전적으로 브라우저에서 실행됩니다. JSON이나 코드가 서버로 전송되지 않습니다.
C++11인가요 아니면 C++17인가요?
생성된 코드는 표준 C++ 기능을 사용합니다. std::vector와 std::string은 C++11에서 동작합니다. nlohmann/json은 C++11 이상을 지원합니다. optional은 std::optional(C++17) 또는 라이브러리를 사용하세요.
Qt나 Unreal과 함께 사용할 수 있나요?
네. 생성된 struct는 순수 C++입니다. Qt에는 QJsonDocument가 있고 Unreal에는 자체 JSON 처리가 있습니다. 생성된 타입을 그대로 사용하거나 nlohmann/json과 함께 사용할 수 있습니다.