Dart 类型';字符串';不是预期类型的子类型';int';
我在搜索结果时遇到此错误。现在花了数小时进行调试,但无法发现问题所在。在尝试将id分配给Place对象时,必须存在反序列化问题。但我不是JavaScript专家(这就是为什么我想使用dart)。当然,这些文件会转换成JavaScript,开发者工具调试器会引用生成的JS文件 奇怪的是,它与我的模拟后端一起工作。但它不适用于导水管后端。渡槽本身提供了正确的输出Dart 类型';字符串';不是预期类型的子类型';int';,dart,angular-dart,Dart,Angular Dart,我在搜索结果时遇到此错误。现在花了数小时进行调试,但无法发现问题所在。在尝试将id分配给Place对象时,必须存在反序列化问题。但我不是JavaScript专家(这就是为什么我想使用dart)。当然,这些文件会转换成JavaScript,开发者工具调试器会引用生成的JS文件 奇怪的是,它与我的模拟后端一起工作。但它不适用于导水管后端。渡槽本身提供了正确的输出 [{“id”:1,“name”:“Easyhotel”},{“id”:2,“name”:“Hotel Greulich”}] 正在提取所有
[{“id”:1,“name”:“Easyhotel”},{“id”:2,“name”:“Hotel Greulich”}]
正在提取所有对象的列表。似乎只与搜索方法有关
任何暗示都将不胜感激
版本
Dart虚拟机版本:2.0.0-dev.68.0(星期二7月10日14:47:26 2018+0200)在“macos_x64”上
公共规范yaml
name: places
description: Cool Places
version: 0.0.1
environment:
sdk: '>=2.0.0-dev.66.0 <2.0.0'
dependencies:
angular: ^5.0.0-beta
angular_forms: ^2.0.0-beta
angular_router: ^2.0.0-alpha
http: ^0.11.0
stream_transform: ^0.0.6
angular_components: ^0.9.0-alpha+15
dev_dependencies:
sass_builder: ^2.0.0
angular_test: ^2.0.0-beta
build_runner: ^0.9.0
build_test: ^0.10.2
build_web_compilers: ^0.4.0
test: ^1.0.0
名称:地点
描述:凉爽的地方
版本:0.0.1
环境:
sdk:'>=2.0.0-dev.66.0找到了错误。实际上,在模拟界面中,它是:
dynamic _extractData(Response resp) => json.decode(resp.body)[data];
但是在渡槽接口中,响应没有包含在JSON“data”标记中。所以把它改成
dynamic _extractData(Response resp) => json.decode(resp.body);
解决了我的问题
因此,当出现以下错误时:
TypeError:无法读取未定义的属性“Symbol(dartx.length)”
这很可能意味着响应可能不包含正确的json。暂时退出throw\u handleError(e)代码>以便我们可以看到异常的实际来源。然后重新启动。什么是新的堆栈跟踪?*暂时注释掉…我得到以下错误:异常:TypeError:无法读取未定义的属性“Symbol(dartx.length)”。奇怪,因为我应该收到2个结果。已在上面添加Stacktrace。找到错误。实际上在模拟接口中,它是动态的_extractData(Response resp)=>json.decode(resp.body)[data];,但是在渡槽接口中,响应没有包含在JSON“data”标记中。因此将其更改为动态_extractData(Response resp)=>json.decode(resp.body);解决了我的问题。很抱歉,但我在调试方面仍然有困难。很高兴您发现了错误。
dynamic _extractData(Response resp) => json.decode(resp.body)[data];
dynamic _extractData(Response resp) => json.decode(resp.body);