如何从 Flutter 中的 api 获取特定数据

问题描述 投票:0回答:2

我正在使用一个 API,该 API 中包含名称,但我只想获取名称的前两个单词,如果单词大于两个,则不应获取。例如,名称是“Om Prakash Sharma”。所以,名称中有三个字母,但我只想从 API 中获取“Om Prakash”。

  List<Qari> qarilist = [];

Future getQariList() 异步 {

const url = "https://quranicaudio.com/api/qaris";
final res = await http.get(Uri.parse(url));

jsonDecode(res.body).forEach((element){
  if(qarilist.length<20) {
    qarilist.add(Qari.fromjson(element));
  }
});

qarilist.sort((a,b)=>a.name!.compareTo(b.name!)); // sort according to A B C
return qarilist;

}

这是api代码

android flutter api dart
2个回答
0
投票

你可以试试下面的伪代码

String name= "Om Prakash Sharma"; //Om Prakash Sharma
final splitted = name.split(' '); //[Om, Prakash, Sharma]
final splittedlength =splitted.length;//3
print(splitted); 
print(splittedlength);
if(splittedlength<2)
{
print(splitted.join(" "));
print("in less than 2");
}

0
投票

希望对你有帮助:

void main() {
  
  List<String> qarilist = ["Mishary bin Rashid.","Ahmad Ali.","Saad ibn Said.","Raad Muhammad"];
  
  var filteredList = qarilist.map((e){
    var nameList = e.split(" ");
    if (nameList.length > 1){
      return "${nameList[0]} ${nameList[1]}";
    } else {
      return e;
    }
  }).toList();
  
  print(filteredList);
}

输出:

[Mishary bin, Ahmad Ali., Saad ibn, Raad Muhammad]
© www.soinside.com 2019 - 2024. All rights reserved.