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(字符串)的数据?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 JSON 字符串转换为数字?

如何使用 dart/flutter 从 API 获取数据?

在 Dart 中获取集合/列表中数字总和的最简洁方法是啥?

在 Dart 的 Cloud Firestore 中添加文档后如何获取文档 ID

如何使用 Dart 将字符串解析为数字?

(Flutter/Dart) 如何修复使用 [ ] 显示列表中的数字