- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在尝试使用 Flutter 应用从 REST API 获取数据。我正在以 json_serializable 方式
构建模型类。下面是我的代码。
main.dart
import 'package:flutter/material.dart';
import 'dart:convert' as convert;
import 'package:http/http.dart' as http;
import './category.dart';
void main()
{
runApp(MyApp());
}
class MyApp extends StatefulWidget
{
@override
State<StatefulWidget> createState() {
// TODO: implement createState
return HttpTestState();
}
}
class HttpTestState extends State<MyApp>
{
@override
Widget build(BuildContext context) {
//bookFind();
productFind();
return MaterialApp(
title: 'Flutter layout demo',
home: Scaffold(
body: Scaffold(appBar: AppBar(title: Text("HTTP Test"),),
body: Container(child: Text("data"),),)
),
);
}
productFind() async{
var url = "http://10.0.2.2:8080/xxx/rest/productCategory/getAllProductCategories";
// Await the http get response, then decode the json-formatted responce.
var response = await http.get(Uri.encodeFull(url), headers: {"Accept": "application/json"});
if (response.statusCode == 200) {
print("Response Body: "+response.body);
List userMap = convert.jsonDecode(response.body);
Category ProductCategories = new Category.fromJson(userMap[0]);
} else {
print("Request failed with status: ${response.statusCode}.");
}
}
}
category.dart(模型类)
import 'package:json_annotation/json_annotation.dart';
part 'category.g.dart';
@JsonSerializable()
class Category
{
int idproductCategory;
String categoryName;
String imageURL;
String deleteTimestamp;
String dateCreated;
String lastUpdated;
Category(this.idproductCategory, this.categoryName, this.imageURL, this.deleteTimestamp, this.dateCreated, this.lastUpdated);
factory Category.fromJson(Map<String, dynamic> json) => _$CategoryFromJson(json);
Map<String, dynamic> toJson() => _$CategoryToJson(this);
}
category.g.dart(json_serializable
生成的类)
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'category.dart';
// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************
Category _$CategoryFromJson(Map<String, dynamic> json) {
return Category(
json['idproductCategory'] as int,
json['categoryName'] as String,
json['imageURL'] as String,
json['deleteTimestamp'] as String,
json['dateCreated'] as String,
json['lastUpdated'] as String);
}
Map<String, dynamic> _$CategoryToJson(Category instance) => <String, dynamic>{
'idproductCategory': instance.idproductCategory,
'categoryName': instance.categoryName,
'imageURL': instance.imageURL,
'deleteTimestamp': instance.deleteTimestamp,
'dateCreated': instance.dateCreated,
'lastUpdated': instance.lastUpdated
};
给定 URL 的 JSON 响应应该如下所示。
[{
"idproductCategory": 1,
"categoryName": "Fruits",
"imageURL": "https://images.unsplash.com/photo-1512621776951-a57141f2eefd?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=500&q=60",
"deleteTimestamp": null,
"dateCreated": 1550056389000,
"lastUpdated": 1550056389000
},
{
"idproductCategory": 2,
"categoryName": "Vegetables",
"imageURL": "https://images.unsplash.com/photo-1522184216316-3c25379f9760?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=500&q=60",
"deleteTimestamp": null,
"dateCreated": 1550056389000,
"lastUpdated": 1550056389000
}]
但是,当我运行我的代码时,出现以下错误。
E/flutter ( 6448): [ERROR:flutter/shell/common/shell.cc(178)] Dart Error: Unhandled exception:
E/flutter ( 6448): type 'int' is not a subtype of type 'String' in type cast
E/flutter ( 6448): #0 _$CategoryFromJson
E/flutter ( 6448): #1 new Category.fromJson
E/flutter ( 6448): #2 HttpTestState.productFind
E/flutter ( 6448): <asynchronous suspension>
E/flutter ( 6448): #3 HttpTestState.build
E/flutter ( 6448): #4 StatefulElement.build
E/flutter ( 6448): #5 ComponentElement.performRebuild
E/flutter ( 6448): #6 Element.rebuild
E/flutter ( 6448): #7 BuildOwner.buildScope
E/flutter ( 6448): #8 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding&WidgetsBinding.drawFrame
E/flutter ( 6448): #9 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding._handlePersistentFrameCallback
E/flutter ( 6448): #10 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback
E/flutter ( 6448): #11 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame
E/flutter ( 6448): #12 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.scheduleWarmUpFrame.<anonymous closure>
E/flutter ( 6448): #13 Timer._createTimer.<anonymous closure> (dart:async/runtime/libtimer_patch.dart:21:15)
E/flutter ( 6448): #14 _Timer._runTimers (dart:isolate/runtime/libtimer_impl.dart:382:19)
E/flutter ( 6448): #15 _Timer._handleMessage (dart:isolate/runtime/libtimer_impl.dart:416:5)
E/flutter ( 6448): #16 _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:171:12)
这是为什么?
最佳答案
我找到的最佳解决方法
int pageCount = int.parse(snapshot.data.data['totalPg'].toString());
关于android - flutter 错误 : type 'int' is not a subtype of type 'String' in type cast,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55321393/
我刚刚遇到了短语“java subtype”和“true subtype”。它在一个问题中以一种明确表示它们不相同的方式给出。但我找不到关于两者之间区别的解释。 有人可以解释一下“java subty
假设我有一个对象的实例,我知道它属于通过 C# 中父类(super class)型的引用传递给我的某个子类型的子类,我习惯于看到类型转换以类似 Java 的方式完成(假设“reference"属于父类
我有一个 VS 2008 C# Web 项目,每当我对其中的文件(甚至不是项目文件本身)进行一些更改时,VS 都会从 csproj 文件中删除如下一些行: ASPXCodeBehind 所以像这样:
有人见过这个吗?我有一个大型 Visual Studio 项目,它不断将 [Subtype]Designer[/Subtype] 添加到我的 .vcproj 中,然后在下一次打开和关闭项目时将其删除。
我从 the Flow docs 中窃取了一些 JSON 类型. 我输入了一个字符串数组 - 注释 Array - 到一个输出带有一些 JSON 的 promise 的函数 - 注释 Promise
我在 Kotlin 中遇到了函数参数问题。我将在一些代码的帮助下解释这个问题。 我创建了一个类层次结构。当我将子类型传递给需要父类型的函数时,没有问题。 open class A (val i: In
不清楚为什么我得到ERROR: LoadError: UndefVarError: subtypes not defined执行 .jl 文件时,而不是从 REPL 执行时。 例如。 abstract
我是 flutter 和 dart 的新手,并试图从 firestore 获取数据作为流并提供给我的 ListView 但我不断收到此错误: type 'MappedListIterable' is
我想要一个函数,它可以接受除某些特定类型之外的任何内容。粗略地说就像 function f(y::X) where y: ),但您不需要该运算符来解决您的问题。 如果您只想要一个适用于所有类型的通用方
我正在将一个旧的 Java 项目重写为 Go。 我已经在工作中完成了一些 Go,但我不知道如何将我的 OOP(带有抽象类等)转换为 Go 哲学。 在这个想法中,我有两种类型(很快就会有 3 种),它们
我想要一个函数,它可以接受除某些特定类型之外的任何内容。粗略地说就像 function f(y::X) where y: ),但您不需要该运算符来解决您的问题。 如果您只想要一个适用于所有类型的通用方
在学习 Swift 教程时遇到了一些麻烦... func exchange(inout data:[T], i:Int, j:Int) { let temp = data[i]; da
我正在通过阅读来学习 Typescript this official document关于索引器类型。 我无法理解这段代码: interface NumberDictionary { [in
NSEvent有一个方法来获取事件的子类型: Getting Custom Event Information – data1 – data2 – subtype 是否可以从 CGEvent 访问相同
在一些 PL/SQL 示例代码中,我注意到每次都使用 type 和 subtype 关键字来声明自定义类型(类似于 typedef例如,C 中的 关键字)。 在我看来,它们的用法是可以互换的:它们有什
在 Scala 中,为什么在方法类型参数上设置类型下限不会对方法参数强制执行“是父类(super class)型”限制? object TypeBounds extends App { class
我正在尝试创建一个应该返回子类型(InternalTask 和 ExternalTask 的列表)的查询。这很好用,但我想在其中一个子类型的查询中添加一个 where 子句。我尝试了以下方法:
是否可以以嵌套方式使用多个@JsonSubType注释? 例如,想象以下类: @Data @JsonSubTypeInfo(include=As.EXISTING_PROPERTY, property
假设我有以下数据库结构: 产品表中的product_id是自动递增的 如何在 Products 表以及 Amazon_Books 或 Starbucks_Products 中插入某些内容而不丢失对 P
我正在从 org.reflections:reflections:0.9.5 升级到版本 0.9.9。我正在使用: Reflections reflectionPaths = new Reflecti
我是一名优秀的程序员,十分优秀!