jsonParseExpression method
Implementation
String jsonParseExpression(String key, bool privateField) {
final jsonKey = "json['$key']";
final fieldKey =
fixFieldName(key, typeDef: this, privateField: privateField);
if (isPrimitive) {
if (name == 'List') {
return "$fieldKey = json['$key'].cast<$subtype>();";
}
return "$fieldKey = json['$key'];";
} else if (name == 'List' && subtype == 'DateTime') {
return "$fieldKey = json['$key'].map((v) => DateTime.tryParse(v));";
} else if (name == 'DateTime') {
return "$fieldKey = DateTime.tryParse(json['$key']);";
} else if (name == 'List') {
// list of class
return "if (json['$key'] != null) {\n\t\t\t$fieldKey = <$subtype>[];"
"\n\t\t\tjson['$key'].forEach((v) { "
'$fieldKey${PubspecUtils.nullSafeSupport ? '?' : ''}.add($subtype.fromJson(v)); });\n\t\t}';
} else {
// class
return "$fieldKey = json['$key'] != null ?"
' ${_buildParseClass(jsonKey)} : null;';
}
}