我仍在学习如何使用 JSON。我有一个从 API 返回的新 JSON 负载。有效负载由映射列表组成,映射内部是嵌套映射。
在返回的地图中,我有一个元素是另一个地图,但它没有元素。我该如何处理这个问题?
元素 #6,features,没有项目:
Map (10 items)
0:"addressLine1" -> "3223B Palm Desert Ln"
1:"city" -> "Missouri City"
2:"state" -> "TX"
3:"zipCode" -> "77459"
4:"formattedAddress" -> "3223B Palm Desert Ln, Missouri City, TX 77459"
5:"county" -> "Fort Bend"
6:"features" -> Map (0 items)
7:"id" -> "3223B-Palm-Desert-Ln,-Missouri-City,-TX-77459"
8:"longitude" -> -95.554532
9:"latitude" -> 29.581225
我尝试了类似于在下面的下一项中处理地图的方式,即taxAssessment,但我收到错误:
参数类型“Map
factory PropertyInformation.fromJson(Map<String?, dynamic> json) {
return PropertyInformation(
addressLine1: json['addressLine1'],
city: json['city'],
state: json['state'],
zipCode: json['zipCode'],
formattedAddress: json['formattedAddress'],
assessorId: json['assessorId'],
bedrooms: json['bedrooms'],
county: json['county'],
legalDescription: json['legalDescription'],
squareFootage: json['squareFootage'],
subdivision: json['subdivision'],
yearBuilt: json['yearBuilt'],
bathrooms: json['bathrooms'],
lotSize: json['lotSize'],
propertyType: json['propertyType'],
lastSaleDate: json['lastSaleDate'] == null ? DateTime.now() : DateTime.parse(json['lastSaleDate']),
//features: Features.fromJson(json['features']),
features: Map.from(json['features']).map((k, v) =>
MapEntry<String?, Features>(
k, Features.fromJson(v as Map<String?, dynamic>))),
taxAssessment: Map.from(json['taxAssessment']).map((k, v) =>
MapEntry<String?, TaxAssessment>(
k, TaxAssessment.fromJson(v as Map<String?, dynamic>))),
propertyTaxes: Map.from(json['propertyTaxes']).map((k, v) =>
MapEntry<String?, PropertyTax>(
k, PropertyTax.fromJson(v as Map<String?, dynamic>))),
owner: Owner.fromJson(json['owner']),
id: json['id'],
longitude: json['longitude'],
latitude: json['latitude'],
);
}
如何处理空的 Map 对象? 谢谢
如果功能只是一个对象,你会喜欢这个
Feature.fromJson(json['features'])
。如果该功能是功能列表,您将 json['features'].map((json)=>Features.fromJson(json)).toList()