JSON 입력

Rust 출력

JSON을 Rust란?

Rust에서 REST API를 호출할 때, Serde로 역직렬화하기 전에 일치하는 struct 정의가 필요합니다. 특히 깊이 중첩된 JSON의 structs를 수작업으로 작성하는 건 번거롭고 오류가 발생하기 쉽습니다. 이 도구는 Serde 호환 Rust structs를 자동으로 생성합니다. JSON을 붙여넣으면 #[derive(Serialize, Deserialize)]가 포함된 바로 사용 가능한 structs가 생성되어 Cargo 프로젝트에 바로 추가할 수 있습니다.

이 도구는 JSON에서 Rust struct를 생성합니다. Serialize/Deserialize derive를 위해 Serde를 활성화하세요. 선택적 필드를 위해 Option 타입을 활성화하세요. 출력은 serde_json::from_strserde_json::to_string과 함께 작동합니다.

변환은 브라우저에서 완전히 실행됩니다. JSON은 서버로 전송되지 않습니다.

JSON을 Rust가 도움이 되는 경우

REST API를 사용하는 Rust 앱을 개발할 때 타입이 지정된 struct가 필요합니다. 샘플 응답을 여기에 붙여넣어 Serde 지원이 포함된 일치하는 struct를 생성하세요.

이 도구 사용 방법

1

JSON 붙여넣기 또는 업로드

JSON을 복사하여 왼쪽 편집기에 붙여넣으세요. 업로드를 클릭하여 파일을 로드할 수도 있습니다. 예제 데이터를 위해 샘플 버튼을 사용하세요. 설정 패널에서 struct 이름과 옵션을 설정하세요.

2

생성된 Struct 검토

오른쪽 패널에 생성된 Rust struct가 표시됩니다. 중첩 객체는 별도의 struct가 됩니다. 배열은 Vec<T>가 됩니다. JSON 구문이 잘못된 경우 먼저 JSON 포매터 또는 JSON 검증기를 사용하여 수정하세요.

3

복사 또는 다운로드

복사 또는 다운로드를 사용하여 코드를 가져오세요. Cargo.toml에 serdeserde_json을 추가하세요. Rust 프로젝트에 붙여넣으세요.

JSON을 Rust 예제

JSON 객체에서 Rust struct를 생성하는 예제입니다.

예제: 구독자 레코드

JSON 입력:

입력

생성된 Rust 출력:

출력

JSON을 Rust가 도움이 되는 경우

대부분의 개발자는 REST API 통합 시 이것이 필요합니다. 여기에 붙여넣으면 즉시 사용할 수 있는 Serde 호환 struct를 얻을 수 있습니다.

두 JSON 파일을 먼저 병합해야 한다면 별도의 JSON 병합 도구가 있습니다.

API 응답, 설정 파일 또는 데이터 내보내기는 종종 JSON입니다. 여기서 실행하면 Rust struct를 생성하는 데 도움이 됩니다.

자주 묻는 질문

Rust에서 Serde로 JSON을 역직렬화하려면?

Cargo.tomlserde = { version = "1.0", features = ["derive"] }serde_json = "1.0"을 추가하세요. struct에 Deserialize를 derive하고 serde_json::from_str::<YourStruct>(&json_string)를 호출하세요. JSON을 붙여넣어 여기서 struct를 생성하세요.

Rust에서 #[serde(rename)]은 무엇을 하나요?

#[serde(rename = "jsonKey")]는 Serde에게 특정 JSON 키를 Rust 필드 이름에 매핑하도록 지시합니다. JSON이 camelCase(planName 등)를 사용하고 Rust struct가 snake_case(plan_name)를 사용할 때 유용합니다. 생성기는 필요할 때 자동으로 추가합니다.

Rust에서 옵션 또는 nullable JSON 필드를 어떻게 처리하나요?

Option Types를 활성화하여 nullable 필드를 Option<T>로 감싸세요. 이렇게 하면 없거나 null인 JSON 필드가 오류를 일으키는 대신 None으로 역직렬화됩니다. 직렬화 시 null 필드를 생략하려면 #[serde(skip_serializing_if = "Option::is_none")]을 추가할 수도 있습니다.

내 JSON이 서버로 전송되나요?

아니요. struct 생성은 완전히 브라우저에서 실행됩니다. JSON이 내 기기를 절대 떠나지 않습니다.

중첩된 JSON 객체와 배열은 어떻게 되나요?

중첩된 JSON 객체는 각자의 #[derive(Serialize, Deserialize)]를 가진 별도의 Rust structs가 됩니다. 배열은 그 struct 타입의 Vec<T>가 됩니다. 생성기는 임의의 중첩 깊이를 처리합니다.

관련 도구

Rust JSON은 Serdeserde_json을 참조하세요. JSON은 JSON 사양을 참조하세요.