JSON 입력

Ruby 출력

JSON을 Ruby란?

Rails API 클라이언트나 서드파티 서비스를 호출하는 Ruby 스크립트를 만들고 있다면 JSON이 반환됩니다. 어디서나 날 것의 해시를 다루고 싶지 않다면 적절한 속성 접근자를 가진 Ruby 클래스가 필요합니다. JSON 사양은 깔끔하고 단순하지만, Ruby는 타입이 있는 데이터를 다루려면 명시적인 클래스 정의가 필요합니다 — 이 도구가 자동으로 생성해 드립니다.

이 도구는 JSON에서 Ruby 클래스를 생성합니다. getter/setter 메서드를 위해 attr_accessor를 활성화하세요. 출력은 Ruby 규칙에 따라 속성 이름에 snake_case를 사용합니다.

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

JSON을 Ruby가 도움이 되는 경우

REST API를 사용하는 Rails 또는 Ruby 앱을 개발할 때 타입이 지정된 클래스가 필요합니다. 샘플 응답을 여기에 붙여넣어 일치하는 클래스를 생성하세요.

이 도구 사용 방법

1

JSON 붙여넣기 또는 업로드

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

2

생성된 클래스 검토

오른쪽 패널에 생성된 Ruby 클래스가 표시됩니다. 중첩 객체는 별도의 클래스가 됩니다. JSON 구문이 잘못된 경우 먼저 JSON 포매터 또는 JSON 검증기를 사용하여 수정하세요.

3

복사 또는 다운로드

복사 또는 다운로드를 사용하여 코드를 가져오세요. Rails 또는 Ruby 프로젝트에 붙여넣으세요.

JSON을 Ruby 예제

JSON 객체에서 Ruby 클래스를 생성하는 예제입니다.

예제: 구독자 레코드

JSON 입력:

입력

생성된 Ruby 출력:

출력

JSON을 Ruby가 도움이 되는 경우

대부분의 개발자는 REST API 통합 시 이것이 필요합니다. 여기에 붙여넣으면 JSON.parse와 함께 사용할 수 있는 Ruby 클래스를 얻을 수 있습니다.

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

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

자주 묻는 질문

JSON을 Ruby 클래스로 파싱하려면?

JSON.parse(json_string)를 호출해 Hash를 얻은 다음 이니셜라이저에서 키를 클래스 속성에 매핑하세요. 더 빠른 방법: 여기서 Ruby 클래스를 생성하세요 — JSON을 붙여넣고 출력을 복사한 다음 해시 키를 attr_accessor 필드에 매핑하는 이니셜라이저를 추가합니다.

Ruby의 attr_accessor란?

attr_accessor는 인스턴스 변수에 대한 getter와 setter 메서드를 모두 생성합니다. Ruby의 공개 프로퍼티에 해당합니다. 접근을 제한하려면 읽기 전용에는 attr_reader, 쓰기 전용에는 attr_writer를 사용하세요.

Ruby에서 JSON 키 이름을 어떻게 처리하나요?

Ruby 관례는 snake_case지만 JSON은 camelCase를 자주 사용합니다. 생성기가 자동으로 snake_case로 변환합니다. 런타임에는 JSON.parse(json_string, symbolize_names: true)나 Rails의 HashWithIndifferentAccess 같은 라이브러리로 키에 유연하게 접근할 수 있습니다.

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

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

중첩된 JSON 객체는 어떻게 되나요?

중첩된 JSON 객체는 별도의 Ruby 클래스가 됩니다. 배열은 해당 클래스 인스턴스의 배열이 됩니다. JSON 구조를 완전히 모델링하기 위해 부모 클래스의 이니셜라이저에서 중첩 클래스를 인스턴스화할 수 있습니다.

관련 도구

Ruby JSON은 JSON을 참조하세요. JSON은 JSON 사양을 참조하세요. Rails는 Rails를 참조하세요.