» [QuickType] Json을 기반으로 다양한 언어의 데이터 모델 클래스 생성 방법

[QuickType] Json을 기반으로 다양한 언어의 데이터 모델 클래스 생성 방법

by DUBUKIMCH

QuickType은 JSON 데이터를 기반으로 다양한 프로그래밍 언어에서 사용할 수 있는 데이터 모델 클래스를 자동으로 생성하는 도구입니다. 이를 통해 JSON 데이터 구조를 코드로 변환하여 더 빠르고 정확한 개발이 가능합니다.

1. QuickType 실행 방법

1.1 온라인 사용

1.2 로컬 설치

  • Node.js를 설치한 후 QuickType CLI를 설치
npm install -g quicktype
  • VS Code 확장
    • Visual Studio Code에서 QuickType 확장을 설치하여 사용.

3. QuickType으로 생성된 코드 예제

입력 JSON 예제

{
  "name": "John Doe",
  "age": 30,
  "isMarried": true,
  "children": ["Jane", "Joe"]
}

C# 클래스 생성

// Generated by QuickType
using System;
using System.Collections.Generic;
using Newtonsoft.Json;

public class Person
{
    [JsonProperty("name")]
    public string Name { get; set; }

    [JsonProperty("age")]
    public long Age { get; set; }

    [JsonProperty("isMarried")]
    public bool IsMarried { get; set; }

    [JsonProperty("children")]
    public List<string> Children { get; set; }
}

Python 데이터 클래스

# Generated by QuickType
from typing import List
from dataclasses import dataclass

@dataclass
class Person:
    name: str
    age: int
    is_married: bool
    children: List[str]

Java 클래스

// Generated by QuickType
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;

public class Person {
    @JsonProperty("name")
    private String name;

    @JsonProperty("age")
    private long age;

    @JsonProperty("isMarried")
    private boolean isMarried;

    @JsonProperty("children")
    private List<String> children;

    // Getters and Setters
}

4. 지원 언어

QuickType은 아래와 같은 다양한 언어를 지원합니다:

  • C#
  • Java
  • TypeScript
  • Python
  • Swift
  • Kotlin
  • Go
  • JavaScript
  • Ruby
  • C++
  • Dart
  • 등 다수…

5. 고급 기능

5.1 선택적 속성

  • JSON에 특정 속성이 항상 존재하지 않을 경우 QuickType이 이를 선택적으로 처리하도록 설정 가능합니다.
  • 예제 (C#)
[JsonProperty("middleName", NullValueHandling = NullValueHandling.Ignore)]
public string? MiddleName { get; set; }

5.2 맞춤 옵션

  • CLI에서 추가 옵션 사용
quicktype --lang csharp --namespace MyNamespace data.json

  • --namespace: 생성된 코드에 네임스페이스 추가.
  • --framework: JSON 직렬화 라이브러리 설정 (예: Newtonsoft.Json).

6. QuickType 활용 팁

  1. 정확한 JSON 데이터 제공:
    • JSON 데이터의 형식이 명확해야 올바른 클래스가 생성됩니다.
  2. 언어 맞춤 설정:
    • 특정 언어에서 요구하는 네이밍 규칙(예: PascalCase, camelCase)에 맞게 자동 생성됩니다.
  3. 코드 리뷰:
    • 자동 생성된 코드는 검토 후 사용하세요. 프로젝트 스타일 가이드에 맞게 수정할 수 있습니다.

QuickType은 JSON을 코드로 변환하는 시간을 줄이고, 데이터 모델링에 있어 실수를 줄이는 데 유용한 도구입니다. 다양한 언어 지원과 간단한 사용법 덕분에 프로젝트 초기 데이터 모델링 단계에서 매우 유용합니다.

Leave a Comment

error: Content is protected !!