Dart:如何获取没有数字id(字符串)的数据?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dart:如何获取没有数字id(字符串)的数据?相关的知识,希望对你有一定的参考价值。
所以我能够使用数字(0,1,2,3,4)获取此json中“位置”的数据。但我无法直接从'prayer_times'字符串中获取数据。有什么方法可以解决这个问题吗?
我试过Text(data [“date”]因为它不能立即以字符串开头并且会给出错误参数类型'dart.core :: String'不能分配给参数类型'dart.core :: int ”。
api工作请检查链接谢谢。
数据获取显示代码
Card(
child: Container(
padding: EdgeInsets.all(15.0),
child: Row(
children: <Widget>[
Text("Name: "),
Text(data[0]["date"],
style: TextStyle(
fontSize: 18.0, color: Colors.black87)),
],
)),
),
API URI代码
final String url = "http://api.azanpro.com/times/today.json?zone=ngs02&format=12-hour";
List data;
Future<String> getSWData() async {
var res = await http
.get(Uri.encodeFull(url), headers: {"Accept": "application/json"});
setState(() {
var resBody = json.decode(res.body);
data = resBody["prayer_times"];
});
答案
您只需进行两项更改即可。
将data
的类型更改为Map
,并根据您的使用情况,将其初始化为默认值:
Map<String, dynamic> data = {'date': "-------"};
然后直接在data
获取日期字段
Card(
child: Container(
padding: EdgeInsets.all(15.0),
child: Row(
children: <Widget>[
Text("Name: "),
Text(data["date"],
style: TextStyle(
fontSize: 18.0, color: Colors.black87)),
],
)),
),
以上是关于Dart:如何获取没有数字id(字符串)的数据?的主要内容,如果未能解决你的问题,请参考以下文章