class {{classname}} { {{#vars}}{{#description}}/* {{{description}}} */{{/description}} {{{datatype}}} {{name}} = {{{defaultValue}}}; {{#allowableValues}}{{#min}} // range from {{min}} to {{max}}{{/min}}//{{^min}}enum {{name}}Enum { {{#values}} {{.}}, {{/values}} };{{/min}}{{/allowableValues}} {{/vars}} {{classname}}(); @override String toString() { return '{{classname}}[{{#vars}}{{name}}=${{name}}, {{/vars}}]'; } {{classname}}.fromJson(Map json) { if (json == null) return; {{#vars}} {{#isDateTime}} {{name}} = json['{{name}}'] == null ? null : DateTime.parse(json['{{name}}']); {{/isDateTime}} {{^isDateTime}} {{name}} = {{#complexType}} {{#isListContainer}}{{complexType}}.listFromJson(json['{{name}}']){{/isListContainer}}{{^isListContainer}} {{#isMapContainer}}{{complexType}}.mapFromJson(json['{{name}}']){{/isMapContainer}} {{^isMapContainer}}new {{complexType}}.fromJson(json['{{name}}']){{/isMapContainer}}{{/isListContainer}} {{/complexType}} {{^complexType}}json['{{name}}']{{/complexType}}; {{/isDateTime}} {{/vars}} } Map toJson() { return { {{#vars}} {{#isDateTime}}'{{name}}': {{name}} == null ? '' : {{name}}.toUtc().toIso8601String(){{^-last}},{{/-last}}{{/isDateTime}}{{^isDateTime}}'{{name}}': {{name}}{{^-last}},{{/-last}}{{/isDateTime}} {{/vars}} }; } static List<{{classname}}> listFromJson(List> json) { var list = new List<{{classname}}>(); if (json != null && json.length > 0) { json.forEach((Map value) => list.add(new {{classname}}.fromJson(value))); } return list; } static Map mapFromJson(Map> json) { var map = new Map(); if (json != null && json.length > 0) { json.forEach((String key, Map value) => map[key] = new {{classname}}.fromJson(value)); } return map; } }