JSON을 Dart로 변환

JSON 입력

에디터 로드 중…

생성된 Dart

Configuration

Dart 클래스를 생성하려면 JSON 데이터를 입력하세요

null safety 및 JSON 직렬화를 지원하는 클래스

JSON을 Dart로 변환하는 방법 – 단계별 가이드

이 JSON-Dart 생성기를 사용하여 Flutter 앱 및 Dart 서비스용 JSON 샘플에서 null 안전 Dart 클래스를 생성하세요.

  1. 1단계 - JSON 샘플 붙여넣기

    • 대표 JSON 개체 또는 배열을 왼쪽 편집기에 붙여넣습니다.
    • 유형이 올바르게 유추되도록 중첩된 개체, 배열 및 null 허용 필드를 포함합니다.
    • Import을 사용하여 파일, URL 또는 샘플 데이터에서 JSON을 로드합니다.
  2. 2단계 – Dart 클래스 옵션 선택

    • 루트 모델에 대해 Class Name을 설정합니다(예: Root).
    • Null 안전을 활성화하고 선택적 필드가 표시되는 방식을 확인합니다(String?).
    • 코드 생성을 사용하는 경우 직렬화 스타일(예: json_serializable)을 선택하세요.
  3. 3단계 – 생성된 코드 검토

    • 필드 이름, 유형, 배열/객체 모델링 방법을 확인하세요.
    • 가능한 경우 Root Type Name, null 처리 및 프레임워크와 같은 옵션을 조정합니다.
    • 필드가 잘못 추론된 경우 샘플 JSON을 조정하고 다시 생성하세요.
  4. 4단계 - Flutter/Dart에서 모델 사용

    • 생성된 클래스를 프로젝트(예: lib/models 아래)에 추가합니다.
    • fromJson 팩토리 또는 생성된 직렬 변환기를 사용하여 JSON을 모델로 구문 분석합니다.
    • 출력을 프로젝트 스타일과 일관되게 유지하려면 flutter format을 실행하세요.
  5. 5단계 - 복사 또는 다운로드

    • 출력을 프로젝트에 복사하거나 파일로 다운로드합니다.
    • 코드 스타일에 맞게 포맷터/린터를 실행하세요.
    • 언어에 필요한 경우 JSON 구문 분석/직렬화 라이브러리를 추가하세요.

빠른 팁

  • 명확성을 위해 모델 클래스를 작게 유지하고 중첩 유형을 구성하십시오.
  • API 형식이 일관된 경우에만 DateTime 구문 분석을 사용하세요.
  • 수동 매핑 버그를 줄이려면 대규모 모델에 대해 생성된 직렬 변환기를 선호합니다.
출력 예(단순화)
// JSON 입력
{
  "id": 123,
  "name": "Maeve Winters",
  "email": "[email protected]",
  "active": true,
  "roles": ["admin", "editor"],
  "metadata": { "plan": "pro" },
  "createdAt": "2024-03-01T10:15:00Z",
  "score": 99.5,
  "notes": null
}

// Generated Dart models (simplified)
class Metadata {
  final String plan;
  const Metadata({required this.plan});
}

class Root {
  final int id;
  final String name;
  final String? email;
  final bool active;
  final List<String> roles;
  final Metadata metadata;
  final String createdAt;
  final double score;
  final Object? notes;

  const Root({
    required this.id,
    required this.name,
    required this.email,
    required this.active,
    required this.roles,
    required this.metadata,
    required this.createdAt,
    required this.score,
    required this.notes,
  });
}

관련 JSON 및 Dart 도구

이 JSON-Dart 생성기와 함께 훌륭하게 작동하는 더 많은 JSON 및 스키마 도구를 살펴보세요.

자주 묻는 질문

어떤 Dart 기능을 지원하나요?

생성기는 올바른 타입 안전성을 가진 Dart 클래스를 생성하고, 수동 JSON 직렬화와 json_annotation 패키지 모두를 지원하며, null 값에는 nullable 타입(?)을 사용하고, Dart 네이밍 규칙을 따릅니다.

json_annotation은 어떻게 작동하나요?

json_annotation 프레임워크를 선택하면, 생성된 클래스가 @JsonSerializable() 주석을 사용하고 build_runner로 fromJson/toJson 메서드를 자동 생성합니다. 이를 통해 타입 안전한 JSON 직렬화를 제공합니다.

nullable 값은 어떻게 처리되나요?

JSON의 null 값은 Dart의 nullable 타입(?)에 매핑되어 null safety를 제공합니다. 필수 필드는 생성자에서 'required' 키워드를 사용하여 Dart의 null safety 원칙을 따릅니다.

Dart의 타입 시스템은 어떻게 반영되나요?

생성된 Dart 코드는 int, double, String, bool, List, Map 등 적절한 타입을 사용하고, 필드 이름은 camelCase 등 Dart 관례를 따릅니다.

JSON을 Dart로 변환 | JSONSwiss