首页 > 解决方案 > 应为“int”类型的值,但在尝试将新键、值添加到地图时得到“double”类型之一

问题描述

好友来电按键数据不来。我收到这样的错误我的错误是:请帮助朋友呼叫按钮数据不来。我收到这样的错误我的错误是:请帮助朋友呼叫按钮数据不来。我收到这样的错误我的错误是:请帮助朋友呼叫按钮数据不来。我收到这样的错误我的错误是:请帮助

NvOrdersResponseData 我的代码

import 'package:json_annotation/json_annotation.dart';
import 'package:novadan_admin/global/models/order/nv_order_item.dart';
import 'package:novadan_admin/global/models/order/nv_order_sale_result.dart';
import 'package:novadan_admin/global/models/paginate/links.dart';

part 'nv_orders_response_data.g.dart';

@JsonSerializable()
class NvOrdersResponseData {
  @JsonKey(name: 'current_page')
  int? currentPage;
  @JsonKey(name: 'data')
  List<NvOrderSaleResult>? data;
  @JsonKey(name: 'first_page_url')
  String? firstPageUrl;
  @JsonKey(name: 'from')
  int? from;
  @JsonKey(name: 'last_page')
  int? lastPage;
  @JsonKey(name: 'last_page_url')
  String? lastPageUrl;
  @JsonKey(name: 'links')
  List<Links>? links;
  @JsonKey(name: 'next_page_url')
  dynamic nextPageUrl;
  @JsonKey(name: 'path')
  String? path;
  @JsonKey(name: 'per_page')
  int? perPage;
  @JsonKey(name: 'prev_page_url')
  dynamic prevPageUrl;
  @JsonKey(name: 'to')
  int? to;
  @JsonKey(name: 'total')
  int? total;
  NvOrdersResponseData({
    this.currentPage,
    this.data,
    this.firstPageUrl,
    this.from,
    this.lastPage,
    this.lastPageUrl,
    this.links,
    this.nextPageUrl,
    this.path,
    this.perPage,
    this.prevPageUrl,
    this.to,
    this.total,
  });

  factory NvOrdersResponseData.fromJson(Map<String, dynamic> json) {
    return _$NvOrdersResponseDataFromJson(json);
  }

  Map<String, dynamic> toJson() => _$NvOrdersResponseDataToJson(this);
}

// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'nv_orders_response_data.dart';

// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************

NvOrdersResponseData _$NvOrdersResponseDataFromJson(Map<String, dynamic> json) {
  return NvOrdersResponseData(
    currentPage: json['current_page'] as int?,
    data: (json['data'] as List<dynamic>?)
        ?.map((e) => NvOrderSaleResult.fromJson(e as Map<String, dynamic>))
        .toList(),
    firstPageUrl: json['first_page_url'] as String?,
    from: json['from'] as int?,
    lastPage: json['last_page'] as int?,
    lastPageUrl: json['last_page_url'] as String?,
    links: (json['links'] as List<dynamic>?)
        ?.map((e) => Links.fromJson(e as Map<String, dynamic>))
        .toList(),
    nextPageUrl: json['next_page_url'],
    path: json['path'] as String?,
    perPage: json['per_page'] as int?,
    prevPageUrl: json['prev_page_url'],
    to: json['to'] as int?,
    total: json['total'] as int?,
  );
}

Map<String, dynamic> _$NvOrdersResponseDataToJson(
        NvOrdersResponseData instance) =>
    <String, dynamic>{
      'current_page': instance.currentPage,
      'data': instance.data,
      'first_page_url': instance.firstPageUrl,
      'from': instance.from,
      'last_page': instance.lastPage,
      'last_page_url': instance.lastPageUrl,
      'links': instance.links,
      'next_page_url': instance.nextPageUrl,
      'path': instance.path,
      'per_page': instance.perPage,
      'prev_page_url': instance.prevPageUrl,
      'to': instance.to,
      'total': instance.total,
    };

设计

在此处输入图像描述

标签: flutterdart

解决方案


模型中的一个int?参数实际上是double数据源中的 a,要么更新该参数以double?添加自定义 fromJson 工厂,因为那些需要为整数的参数 bur 实际上是数据源中的双精度数。

可以帮助您的链接: https ://pub.dev/documentation/json_annotation/latest/json_annotation/JsonKey/fromJson.html

https://dart.dev/guides/language/type-system

https://stackoverflow.com/help/how-to-ask


推荐阅读