JSON 모델 자동화

JSON2Class JSON 클래스 자동 생성기 · Java · TypeScript · Kotlin + Markdown

JSON을 붙여 넣으면 즉시 Lombok 기반 불변 클래스, TypeScript 인터페이스, Kotlin data class, Markdown API 문서를 한 번에 만들어 줍니다. 온라인 JSON to Java/TypeScript/Kotlin converter로 개발 · 문서 시간을 단축하세요.

Immutable · Nullable Rules · Export

🚀 Auto Builder

JSON → Java & Table Root 기준 트리 구조 추적
JSON 변환기 코드 결과 왜 변환이 필요한가 지원 언어 예시 제한 사항 FAQ

입력

JSON 페이로드

• `.` 또는 `{}` 단위로 클래스를 분리합니다.
• 모든 필드는 `private final` + Lombok `@Getter` / `@AllArgsConstructor` 조합을 따릅니다.
• `#notNull`, `#max:10` 등 `#` 지시어로 Java Validation annotation을 JSON에서 바로 선언할 수 있습니다.

결과

코드 & 문서

클래스 수

0

필드 수

0
Immutable Class Set
// JSON을 입력하면 Java 코드가 생성됩니다.
TypeScript Interface
// JSON을 입력하면 TypeScript 인터페이스가 생성됩니다.
Kotlin Data Class
// JSON을 입력하면 Kotlin data class가 생성됩니다.
Markdown Table
### Root
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| person.name | String | O | - |

미리보기

Markdown 테이블 미리보기

EXPLANATION

왜 JSON을 클래스/인터페이스로 바꿔야 할까요?

대부분의 API 응답은 JSON으로 전달되지만, 팀의 코드베이스는 정적 타입을 요구합니다. JSON을 Java DTO, TypeScript 인터페이스, Kotlin data class로 즉시 변환하면 컴파일 단계에서 스키마 불일치를 잡아내고, 런타임 널/타입 에러를 줄이며, 프런트엔드/백엔드 계약을 문서로 남길 수 있습니다.

JSON2Class는 브라우저에서만 동작하여 입력 데이터를 서버에 저장하지 않습니다. 빠르게 붙여 넣고 결과를 확인한 다음, 팀 규칙(Validation, optional/readonly, nullability)에 맞춰 코드를 조정하세요. 자동 생성된 Markdown 표는 API 문서나 계약 테스트에도 바로 활용할 수 있습니다.

코드 리뷰나 온보딩 시에는 생성된 클래스와 JSON 원본을 나란히 보여 주어 설계 의도를 설명할 수 있습니다. 이는 엔드포인트 계약 변경 시 영향을 한눈에 파악하고, 반복적인 수작업 매핑을 줄이는 가장 간단한 방법입니다.

EXAMPLE

작은 JSON으로 확인하는 전체 흐름

아래와 같이 API 응답 JSON을 붙여 넣으면 Lombok 기반 Java DTO, TypeScript 인터페이스, Kotlin data class가 동시에 생성됩니다. 숫자와 null 여부, 중첩 객체가 어떻게 매핑되는지 한눈에 확인할 수 있습니다.

  • API 응답 스냅샷: 요청/응답 계약을 팀에서 공유할 때 붙여 넣기만 하면 됩니다.
  • 자동 타입 추론: 숫자, 문자열, 불리언, 배열/객체를 분리해 불변 필드로 변환합니다.
  • 문서 동시 생성: Markdown 표로 필드 설명을 내보내 팀 위키나 PR에 바로 붙일 수 있습니다.
{
  "orderId": "ord_2024_3001",
  "total": 88000.5,
  "currency": "KRW",
  "items": [
    { "sku": "A-123", "qty": 2, "price": 12000 },
    { "sku": "B-990", "qty": 1, "price": 64000.5 }
  ],
  "shipping": {
    "name": "Jane Roe",
    "zip": "06234",
    "isExpress": true
  }
}
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.List;

@Getter
@AllArgsConstructor
public class Order {
  @NotNull private final String orderId;
  private final Double total;
  private final String currency;
  private final List items;
  private final Shipping shipping;

  @Getter
  @AllArgsConstructor
  public static class Item {
    private final String sku;
    private final Integer qty;
    private final Double price;
  }

  @Getter
  @AllArgsConstructor
  public static class Shipping {
    private final String name;
    private final String zip;
    private final Boolean isExpress;
  }
}

제한 사항 및 유의할 점

  • 브라우저 메모리 안에서만 변환하므로, 매우 큰 JSON(수십 MB 이상)은 붙여 넣기 전에 필요한 필드만 남기는 것이 안전합니다.
  • 숫자/불리언/문자열 추론은 제공된 샘플을 기준으로 하므로, 추가 케이스가 있다면 입력 JSON에 포함해 테스트하세요.
  • 필드명 규칙이나 커스텀 어노테이션이 필요한 경우, 생성된 코드를 복사한 뒤 팀 규칙에 맞춰 수정하면 됩니다.
  • 데이터는 네트워크로 전송되지 않지만, 민감 정보가 포함된 JSON은 가명화하여 붙여 넣는 것을 권장합니다.
JSON 변환 다시 실행

FAQ

How do I convert JSON to a Java class?

JSON2Class에서 JSON을 붙여 넣고 `JSON 변환 실행`을 누르면 Lombok 기반 불변 DTO가 생성되며 Spring 3(Jakarta)/Spring 2(javax) Validation annotation까지 함께 적용됩니다.

Can I export a JSON to TypeScript interface?

네. 결과 패널에서 TypeScript 탭을 열면 optional/readonly/union 규칙을 반영한 인터페이스를 복사할 수 있고, 브레이킹 체인지 없는 계약 테스트에 바로 붙일 수 있습니다.

Is data stored on the server?

브라우저에서만 동작하며 입력한 JSON은 저장하거나 전송하지 않습니다. 로컬 개발자 도구처럼 안전하게 사용할 수 있습니다.

Do you generate Markdown or schema docs?

Markdown 탭을 통해 필드별 타입/필수 여부를 자동 표로 만들 수 있어 API 문서, JSON validator, JSON schema generator 단계에 바로 활용할 수 있습니다.