如何解决类型'int'不是类型转换json中类型'String'的子类型解码问题
我想解码大型JSON,但出现此错误。”(类型'int'不是强制类型转换中'String'类型的子类型)
返回应如下所示: 'IdJB'=> 2,'titel'=>“ lalalala”,'datum'=> 12052003等...
这是我的代码。
Future<Map<String,dynamic>> lol() async {
final response = await http.post(
"http://www.bumsbirne.de/2/cool.lol.php",body: {
"status": "1","nam_ersteller": "Quyre","nummer": 1,});
var data = jsonDecode(response.body);
print(data);
return data;
}
lol();
多数民众赞成在控制台上
Launching lib/main.dart on iPhone SE (2nd generation) in debug mode...
Running Xcode build...
Xcode build done. 13,8s
Waiting for iPhone SE (2nd generation) to report its views...
Debug service listening on ws://127.0.0.1:65295/IdBP__sdzf0=/ws
Syncing files to device iPhone SE (2nd generation)...
[VERBOSE-2:ui_dart_state.cc(171)] Unhandled Exception: type 'int' is not a subtype of type 'String' in type cast
#0 CastMap.forEach.<anonymous closure> (dart:_internal/cast.dart:288:25)
#1 _LinkedHashMapMixin.forEach (dart:collection- patch/compact_hash.dart:377:8)
#2 CastMap.forEach (dart:_internal/cast.dart:287:13)
#3 mapToQuery (package:http/src/utils.dart:17:7)
#4 Request.bodyFields= (package:http/src/request.dart:137:12)
#5 BaseClient._sendUnstreamed (package:http/src/base_client.dart:85:17)
#6 BaseClient.post (package:http/src/base_client.dart:32:7)
#7 post.<anonymous closure> (package:http/http.dart:70:16)
#8 _withClient (package:http/http.dart:166:20)
#9 post (package:http/http.dart:69:5)
#10 _MyHomePageState.initState.lol (package:netzwerk/main.dart:36:30)
#11 _MyHomePageState.initState (package:netzwerk/main.dart:47:8)
#12 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4702:58)
#13 ComponentElement.mou<…>
感谢您的帮助
解决方法
您正在将字符串解析为Int。尝试按照下面的代码。只需将所有数据转换为字符串即可。
Future<Map<String,dynamic>> lol() async {
final response =
await http.post("http://www.bumsbirne.de/2/cool.lol.php",body: {
"status": 1.toString(),"nam_ersteller": "Quyre".toString(),"nummer": 1.toString(),});
var data = jsonDecode(response.body);
print(data);
return data;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。