Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 从json赋值后打印类属性时获取null_Flutter_Dart_Provider_Dio - Fatal编程技术网

Flutter 从json赋值后打印类属性时获取null

Flutter 从json赋值后打印类属性时获取null,flutter,dart,provider,dio,Flutter,Dart,Provider,Dio,我有一个类CityModel,当我试图给它赋值并打印任何值时,它得到了null值,现在是实值 这里是CityModel类文件 import 'package:flutter/material.dart'; class CityModel { String cityId; String nameAr; CityModel({@required cityId, @required nameAr}); } 这里是一个提供程序函数,我尝试将值分配给类城市属性 Re

我有一个类CityModel,当我试图给它赋值并打印任何值时,它得到了null值,现在是实值

这里是CityModel类文件

import 'package:flutter/material.dart';

class CityModel {
      String cityId;
      String nameAr;
      CityModel({@required cityId, @required nameAr});
}
这里是一个提供程序函数,我尝试将值分配给类城市属性

Response response = await httpService.getRequest(url);
  var parsedCities = response.data['data']['cities'] as List;

  if (response.statusCode == 200 && response.data['status_code'] == 201) {
    parsedCities.forEach((cityObject) {
      final String name = cityObject['name_ar'];

      final CityModel city =
          CityModel(cityId: cityObject['city_id'], nameAr: cityObject['name_ar']);
      cities.add(city);
      print(city.nameAr);
    });
ParsedCities包含城市对象列表 如果我打印cityObject['name_ar],我得到了正确的值 但我的问题是,当我尝试打印city.name时,我得到的值为空
我不知道为什么。

试试这个?当您声明“final String name=…”时,会发生某些类型转换:

Response response = await httpService.getRequest(url);
  var parsedCities = response.data['data']['cities'] as List;

  if (response.statusCode == 200 && response.data['status_code'] == 201) {
    parsedCities.forEach((cityObject) {
      final String name = cityObject['name_ar'];
      final String city = cityObject['city_id'];
      print(name);
      print(city);
      final CityModel city =
          CityModel(cityId: city, nameAr: name);
      cities.add(city);
      print(city.nameAr);
      print(city.cityId);
    });

分享你的错误log@MoaidALRazhy没有错误只是打印空值不是正确的值我尝试了您的代码,没有打印任何内容我将cityId更改为整数现在打印city\u id和name,但仍然是city.nameAr和city.cityId打印空值谢谢我找到了错误。我忘了在模型类中添加这个关键字