idootop / json_to_dart

Auto generate dart / typescript classes from json strings

Home Page:https://idootop.github.io/json_to_dart/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

JSON to Class

Given a JSON string, this library will generate all the necessary Dart / Typescript classes to parse and generate JSON.

Usage

dependencies:
  ...
  json2class:
    git:
      url: https://github.com/idootop/json_to_dart.git
import 'package:json2class/json2class.dart';

void main() async {
  final jsonStr = '''
    {
      "code": 404,
      "msg": "Not found!"
    }
  ''';
  final dartCode = json2dart(className: 'HttpError', jsonStr: jsonStr);
  final tsCode = json2ts(className: 'HttpError', jsonStr: jsonStr);
}

This will generate something like this:

class HttpError {
  late int code;
  late String msg;

  HttpError({
    int? code,
    String? msg,
  }) {
    this.code = code ?? 0;
    this.msg = msg ?? '';
  }

  factory HttpError.fromJson(Map<String, dynamic> json) => HttpError(
        code: json['code'],
        msg: json['msg'],
      );

  Map<String, dynamic> toJson() => {
        'code': code,
        'msg': msg,
      };
}
class HttpError {
  public code: number;
  public msg: string;

  public constructor(p: { code?: number; msg?: string }) {
    this.code = p.code ?? 0;
    this.msg = p.msg ?? "";
  }

  public static fromJson(json = {} as any): HttpError {
    return new HttpError({
      code: json.code,
      msg: json.msg,
    });
  }

  public toJson() {
    return {
      code: this.code,
      msg: this.msg,
    };
  }
}

Acknowledgement

This library is based on javiercbk's json_to_dart.

About

Auto generate dart / typescript classes from json strings

https://idootop.github.io/json_to_dart/

License:The Unlicense


Languages

Language:Dart 100.0%