我正在尝试创建模型并解析来自api的json数据。
为此我创建了model类,如下所示
class FeatureModel {
String? PlanFeatures;
bool? FeatureStatus;
FeatureModel({this.PlanFeatures, this.FeatureStatus});
FeatureModel.fromJson(parsonJson) {
PlanFeatures = parsonJson['PlanFeatures'];
FeatureStatus = parsonJson['FeatureStatus'];
}
}
现在我正在尝试用循环的帮助来解析json
让我告诉你我方法
List<FeatureModel> featureModel = [];
Uri featureAPI = Uri.parse(
planFeatureApi);
apiCall() async {
try {
http.Response response = await http.get(featureAPI);
// print(response.statusCode);
if (response.statusCode == 200) {
var decode = json.decode(response.body);
print(decode);
for (var i = 0; i < decode.length; i++) {
print(i);
featureModel.add(
FeatureModel.fromJson(decode[i]),
);
}
}
} catch (e) {}
}
我在这里宣布
onPressed: () async{
await apiCall();
}
但问题是在这里循环不工作,而解析数据在该特定代码i保持在0只
当我删除featureModel.add( FeatureModel.fromJson(decode[i]), );
时,我开始增加,直到10
请让我知道,如果我犯了任何错误或什么提前感谢
下面是api respone的示例。
[{"PlanFeatures":"Video Link Sharing","FeatureStatus":"true"},{"PlanFeatures":"Email \u0026amp; Telephonic Support","FeatureStatus":"true"},{"PlanFeatures":"Remove Pixeshare Branding","FeatureStatus":"false"},{"PlanFeatures":"Add Custom logo on uploaded photos","FeatureStatus":"false"},{"PlanFeatures":"Get Visitor Info","FeatureStatus":"false"},{"PlanFeatures":"Mobile Apps","FeatureStatus":"false"},{"PlanFeatures":"Send Questionnaries","FeatureStatus":"false"},{"PlanFeatures":"Create \u0026amp; Send Quotation","FeatureStatus":"false"},{"PlanFeatures":"Online Digital Album Sharing","FeatureStatus":"false"},{"PlanFeatures":"Analytics","FeatureStatus":"false"}]
谢谢
1条答案
按热度按时间ru9i0ody1#
我发现了很多错误,首先,fromJson不是一个
factory
构造函数,并且没有从JSON返回类示例。第二个错误是,您添加的示例中的bool值是String
,而不是bool
,因此我们需要检查它。尝试将模型类更改为: