【发布时间】:2018-06-01 22:00:01
【问题描述】:
这可能需要一段时间... 我一直在尝试让我的 Dart/Flutter 代码从 BlockChainTicker 返回数据(特别是我想查看 AUD 行中的所有内容)并将其留在调试控制台中。当我这样做时,我会从控制台返回此错误
E/flutter ( 8656): [ERROR:topaz/lib/tonic/logging/dart_error.cc(16)] Unhandled exception:
E/flutter ( 8656): type '_InternalLinkedHashMap<String, dynamic>' is not a subtype of type 'List' where
E/flutter ( 8656): _InternalLinkedHashMap is from dart:collection
E/flutter ( 8656): String is from dart:core
E/flutter ( 8656): List is from dart:core
我的代码可能看起来很陌生,但我只有大约一周的这门语言经验,所以感谢您耐心阅读本文。
import 'dart:async';
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
class First extends StatefulWidget {
@override
HomePageState createState() => new HomePageState();
}
class HomePageState extends State<First> {
List data;
Future<String> getData() async {
var response = await http.get(
Uri.encodeFull("http://blockchain.info/ticker"),
headers: {
"Accept": "application/json"
}
);
data = JSON.decode(response.body);
print(data[1]["AUD"]);
return "Success!";
}
@override
Widget build(BuildContext context) {
return new Scaffold(
body: new Center(
child: new RaisedButton(
child: new Text("Get data"),
onPressed: getData,
),
),
);
}
}
【问题讨论】:
标签: android ios json dart flutter