본문으로 건너뛰기
ToolMug

JSON Rust 구조체 변환

JSON을 붙여넣으면 serde_json에 바로 쓸 수 있는 Rust 구조체를 만들어 줘요. 필드는 snake_case를 쓰고 필요하면 rename 속성이 붙으며, 선택적이거나 null 가능한 값은 Option이 되고, 중첩 객체는 별도의 구조체가 돼요.

브라우저에서 실행 — 입력한 내용은 업로드되지 않아요

사용 방법

  1. JSON 샘플을 붙여넣거나 "예시 불러오기"를 클릭하세요.
  2. 루트 구조체의 이름을 설정하세요.
  3. 코드를 복사하거나 다운로드하세요. Cargo.toml에 derive 기능을 켠 serde와 serde_json을 추가하세요.

옵션 설명

루트 타입 이름
최상위 구조체의 이름이에요. 중첩 구조체는 키 이름을 따서 이름이 붙어요.

예시

{"userName": "ada", "type": "admin"}는 다음과 같이 변환돼요:

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Root {
    #[serde(rename = "userName")]
    pub user_name: String,
    pub r#type: String,
}

자주 묻는 질문

어떤 크레이트가 필요한가요?

derive 기능을 켠 serde와 파싱용 serde_json이 필요해요. 타입을 추론할 수 없는 값에는 serde_json::Value를 사용해요.

Rust 예약어는 어떻게 처리하나요?

type 같은 키는 원시 식별자(r#type)가 돼요. serde가 r# 접두사를 떼어 내므로 rename이 필요 없어요.

어떤 숫자 타입을 쓰나요?

정수는 i64, 소수가 있는 숫자는 f64예요.

JSON이 업로드되나요?

아니요. 타입은 브라우저에서 생성되므로 실제 데이터가 담긴 API 응답도 기기 밖으로 나가지 않아요.

개인정보 보호

이 도구는 전적으로 브라우저에서 실행돼요. 파일과 텍스트는 기기에서 처리되며 서버로 업로드되지 않아요.

관련 도구