Response response = await get(Uri.parse(
"https://api.xxx.tr/getsureapi.php?sureadi=${widget.surah.name!.toLowerCase()}&datatipi=hakkinda&ayetno=${widget.surah.number}"));
String data = jsonDecode(json.encode(response.body));
String temp = "";
bool run = false;
for (int I = 0; I < data.length; I++) {
if (data[I] == "{" && data[I - 1] == ':' || run == true) {
temp += data[I];
run = true;
if (data[I] == "}") {
run = false;
break;
}
}
}
Map valueMap = json.decode(temp);
Response response2 = await get(Uri.parse(
"https://api.xxx.tr/getsureapi.php?sureadi=${widget.surah.name!.toLowerCase()}&datatipi=nuzul&ayetno=${widget.surah.number}"));
String data2 = jsonDecode(json.encode(response2.body));
String temp2 = "";
bool run2 = false;
for (int I = 0; I < data2.length; I++) {
if (data2[I] == "{" && data2[I - 1] == ':' || run2 == true) {
temp2 += data2[I];
run2 = true;
if (data2[I] == "}") {
run2 = false;
break;
}
}
}
Map valueMap2 = json.decode(temp2);
Response response3 = await get(Uri.parse(
"https://api.xxx.tr/getsureapi.php?sureadi=${widget.surah.name!.toLowerCase()}&datatipi=konu&ayetno=${widget.surah.number}"));
String data3 = jsonDecode(json.encode(response3.body));
String temp3 = "";
bool run3 = false;
for (int I = 0; I < data3.length; I++) {
if (data3[I] == "{" && data3[I - 1] == ':' || run3 == true) {
temp3 += data3[I];
run3 = true;
if (data3[I] == "}") {
run3 = false;
break;
}
}
}
Map valueMap3 = json.decode(temp3);
Response response4 = await get(Uri.parse(
"https://api.xxx.tr/getsureapi.php?sureadi=${widget.surah.name!.toLowerCase()}&datatipi=fazilet&ayetno=${widget.surah.number}"));
String data4 = jsonDecode(json.encode(response4.body));
String temp4 = "";
bool run4 = false;
for (int I = 0; I < data4.length; I++) {
if (data4[I] == "{" && data4[I - 1] == ':' || run4 == true) {
temp4 += data4[I];
run4 = true;
if (data4[I] == "}") {
run4 = false;
break;
}
}
} Flutter API işleminde hata alıyorum
6
●164
- 31-07-2023, 19:03:59Selamlar arkadaşlar aşağıdaki kodda api çekiminde sıkıntı yok sadece içinde I VE İ olan içerikleri çekemiyorum. Koddaki gerekli alanlara İ yazınca I çekmiyor tersi yapınca da diğeri çekilmiyor. Kodu inceleyip ikisini birden eklemem için yardımcı olur musunuz..
- 31-07-2023, 19:22:00toLowerCase() düzgün çalışmaz Türkçe karakterler için, turkish kütüphanesini kullanın.
- 31-07-2023, 19:30:07Şimdi ekledim. String surahName = tr.toLowerCase(widget.surah.name!); bu şekilde kullanacağım sanırım.altayevrim adlı üyeden alıntı: mesajı görüntüle
- 31-07-2023, 20:01:38utf8.decode yöntemini kullanabiliriz Future<Map> fetchData adinda yeni bir fonksiyon tanımlarsak örnek olarak böyle birşey yapabiliriz
import 'dart:convert'; import 'package:http/http.dart'; Future<Map> fetchData(String dataTipi, String sureAdi, int ayetNo) async { final encodedSureAdi = Uri.encodeComponent(sureAdi.toLowerCase()); final response = await get(Uri.parse( "https://api.xxx.tr/getsureapi.php?sureadi=$encodedSureAdi&datatipi=$dataTipi&ayetno=$ayetNo", )); final data = utf8.decode(response.bodyBytes); return jsonDecode(data); } void main() async { Map valueMap = await fetchData("hakkinda", widget.surah.name!, widget.surah.number); Map valueMap2 = await fetchData("nuzul", widget.surah.name!, widget.surah.number); Map valueMap3 = await fetchData("konu", widget.surah.name!, widget.surah.number); Map valueMap4 = await fetchData("fazilet", widget.surah.name!, widget.surah.number); print("Hakkinda: $valueMap"); print("Nuzul: $valueMap2"); print("Konu: $valueMap3"); print("Fazilet: $valueMap4"); }gibi olur aslinda bir deneyin - 31-07-2023, 20:08:03Kod bilgim kısıtlı ChatGPT ile ben de denedim ama hala çekmiyor.OmerAti adlı üyeden alıntı: mesajı görüntüle