AZ Tools

JSON to Rust 구조체 변환기 (serde)

개발

JSON 객체나 배열을 붙여넣으면 serde의 `Serialize, Deserialize`를 파생하고 필드가 Rust 타입(String, i64, f64, bool, Vec<...>)으로 매핑된 Rust `struct` 정의와 중첩 객체용 별도 구조체를 바로 얻을 수 있습니다. snake_case가 아닌 키에는 `#[serde(rename = "...")]` 속성이 추가됩니다. 모든 처리는 브라우저에서 로컬로 실행되며 JSON은 업로드되지 않습니다.

Rust 구조체

사용법

  1. 입력 상자에 JSON을 붙여넣거나 입력합니다.
  2. 필요하면 루트 구조체 이름을 변경합니다(기본값 AutoGenerated).
  3. 출력 상자에서 생성된 구조체를 복사하고 Cargo.toml에 serde를 추가합니다.

자주 묻는 질문

숫자는 어떤 타입이 되나요?
정수는 i64, 소수점이 있는 숫자는 f64로 변환됩니다. u32, i32 등 다른 폭이 필요하면 직접 수정하세요.
null이나 빈 배열은 어떻게 처리되나요?
샘플로 타입을 추론할 수 없으므로 null은 Option<serde_json::Value>로, 빈 배열은 Vec<serde_json::Value>로 변환됩니다.
일부 필드에 serde rename이 붙는 이유는 무엇인가요?
Rust 필드는 snake_case를 사용합니다. JSON 키가 다르면(예: camelCase) 직렬화가 원래 키와 일치하도록 #[serde(rename = "...")] 속성이 추가됩니다.
제 JSON이 어딘가로 전송되나요?
아니요. 변환은 전적으로 브라우저에서 이루어지며 아무것도 업로드되지 않습니다.

관련 도구