Given a JSON string, this library will generate all the necessary Dart / Typescript classes to parse and generate JSON.
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,
};
}
}
This library is based on javiercbk's json_to_dart.