Skip to content

Commit 30c3813

Browse files
committed
fix generate optional double
1 parent d497ec9 commit 30c3813

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

lib/common/utils/json_serialize/sintaxe.dart

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -127,21 +127,24 @@ class TypeDefinition {
127127
fixFieldName(key, typeDef: this, privateField: privateField);
128128
if (isPrimitive) {
129129
if (name == 'List') {
130-
return "$fieldKey = json['$key'].cast<$subtype>();";
130+
return "$fieldKey = $jsonKey.cast<$subtype>();";
131131
}
132-
return "$fieldKey = json['$key'];";
132+
if (name == 'double?') {
133+
return "$fieldKey = ($jsonKey as num?)?.toDouble();";
134+
}
135+
return "$fieldKey = $jsonKey;";
133136
} else if (name == 'List' && subtype == 'DateTime') {
134-
return "$fieldKey = json['$key'].map((v) => DateTime.tryParse(v));";
137+
return "$fieldKey = $jsonKey.map((v) => DateTime.tryParse(v));";
135138
} else if (name == 'DateTime') {
136-
return "$fieldKey = DateTime.tryParse(json['$key']);";
139+
return "$fieldKey = DateTime.tryParse($jsonKey);";
137140
} else if (name == 'List') {
138141
// list of class
139-
return "if (json['$key'] != null) {\n\t\t\t$fieldKey = <$subtype>[];"
140-
"\n\t\t\tjson['$key'].forEach((v) { "
142+
return "if ($jsonKey != null) {\n\t\t\t$fieldKey = <$subtype>[];"
143+
"\n\t\t\t$jsonKey.forEach((v) { "
141144
'$fieldKey${PubspecUtils.nullSafeSupport ? '?' : ''}.add($subtype.fromJson(v)); });\n\t\t}';
142145
} else {
143146
// class
144-
return "$fieldKey = json['$key'] != null ?"
147+
return "$fieldKey = $jsonKey != null ?"
145148
' ${_buildParseClass(jsonKey)} : null;';
146149
}
147150
}

0 commit comments

Comments
 (0)