x.toJson()), }; 高级饮料{ 字符串斜角项目; 字符串斜角计数; 饮料({ 这是贝弗拉格西项目, 这是贝弗拉格计数, }); factory Beverage.fromJson(映射json)=>Beverage( beveragesitem:json[“beveragesitem”], BeverageCount:json[“饮料计数”], ); 映射到JSON()=>{ “Beveragesitem”:Beveragesitem, “饮料计数”:beveragesCount, }; },json,flutter,Json,Flutter" /> x.toJson()), }; 高级饮料{ 字符串斜角项目; 字符串斜角计数; 饮料({ 这是贝弗拉格西项目, 这是贝弗拉格计数, }); factory Beverage.fromJson(映射json)=>Beverage( beveragesitem:json[“beveragesitem”], BeverageCount:json[“饮料计数”], ); 映射到JSON()=>{ “Beveragesitem”:Beveragesitem, “饮料计数”:beveragesCount, }; },json,flutter,Json,Flutter" />

在调用Api时将类映射到json,该Api在flatter中显示错误 Map to json()=>{ “用户名”:用户名, “事件日期时间”:事件日期时间, “事件名称”:事件名称, “事件地址”:事件地址, "器皿":器皿,, “热食”:热食, “搬运”:搬运, “饮料”:List.from(Beverage.map((x)=>x.toJson()), }; 高级饮料{ 字符串斜角项目; 字符串斜角计数; 饮料({ 这是贝弗拉格西项目, 这是贝弗拉格计数, }); factory Beverage.fromJson(映射json)=>Beverage( beveragesitem:json[“beveragesitem”], BeverageCount:json[“饮料计数”], ); 映射到JSON()=>{ “Beveragesitem”:Beveragesitem, “饮料计数”:beveragesCount, }; }

在调用Api时将类映射到json,该Api在flatter中显示错误 Map to json()=>{ “用户名”:用户名, “事件日期时间”:事件日期时间, “事件名称”:事件名称, “事件地址”:事件地址, "器皿":器皿,, “热食”:热食, “搬运”:搬运, “饮料”:List.from(Beverage.map((x)=>x.toJson()), }; 高级饮料{ 字符串斜角项目; 字符串斜角计数; 饮料({ 这是贝弗拉格西项目, 这是贝弗拉格计数, }); factory Beverage.fromJson(映射json)=>Beverage( beveragesitem:json[“beveragesitem”], BeverageCount:json[“饮料计数”], ); 映射到JSON()=>{ “Beveragesitem”:Beveragesitem, “饮料计数”:beveragesCount, }; },json,flutter,Json,Flutter,错误显示如下 未处理的异常:NoSuchMethodError:对null调用了getter“length”。 E/颤振(6308):接收器:空 E/颤振(6308):尝试呼叫:长度 E/颤振(6308):#0 Object.noSuchMethod(dart:core patch/Object_patch.dart:51:5) 电子/颤振(6308):#1 _Uri._uriEncode(飞镖:核心补丁/飞镖补丁。飞镖:44:23) E/flatter(6308):#2 Uri.encodeQ

错误显示如下

未处理的异常:NoSuchMethodError:对null调用了getter“length”。 E/颤振(6308):接收器:空 E/颤振(6308):尝试呼叫:长度 E/颤振(6308):#0 Object.noSuchMethod(dart:core patch/Object_patch.dart:51:5) 电子/颤振(6308):#1 _Uri._uriEncode(飞镖:核心补丁/飞镖补丁。飞镖:44:23) E/flatter(6308):#2 Uri.encodeQueryComponent(dart:core/Uri.dart:1103:17) E/颤振(6308):#3地图查询。(包:http/src/utils.dart:19:13) E/颤振(6308):#4 CastMap.forEach。(省道:内部/铸造省道:286:8) E/flatter(6308):#5#LinkedHashMapMixin.forEach(dart:collection patch/compact#u hash.dart:377:8)


有人能帮我纠正这个问题吗?

你在哪里调用
toJson()
可能有问题吗?

我发现了这个问题,可能这会帮助别人,我试图在这里调用一个带有随机值的Api进行测试。当我在测试时,当模型类在结构中找不到值时,一些值为空,抛出错误,因为在null上调用了'length',也就是说,没有为该模型变量输入值。当我为模型类输入所有值时,它返回success

简而言之,在调用toJson方法时,任何值都不应为null

Map<String, dynamic> toJson() => {
    "username": username,
    "Event_date_time": eventDateTime,
    "Event_name": eventName,
    "Event_Address": eventAddress,
    "Utensils": utensils,
    "Hot_serve": hotServe,
    "Carting": carting,
    "Beverage ": List<dynamic>.from(Beverage.map((x) => x.toJson())),

  };

class Beverage {
  String beveragesitem;
  String beveragesCount;

  Beverage({
    this.beveragesitem,
    this.beveragesCount,
  });

  factory Beverage.fromJson(Map<String, dynamic> json) => Beverage(
    beveragesitem: json["Beveragesitem"],
    beveragesCount: json["Beverages_count"],
  );

  Map<String, dynamic> toJson() => {
    "Beveragesitem": beveragesitem,
    "Beverages_count": beveragesCount,
  };
}