• 0

مشكلة في فلاتر: Unhandled Exception: NoSuchMethodError: Class '_InternalLinkedHashMap<String, dynamic>' has no instance method 'cast' with matching arguments.

السلام عليكم ورحمة الله وبركاته 

تحيه طيبه للجميع 

يواجهني خطاء في بداية تشغيلي للتطبيق كالتالي:

E/flutter (26270): [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: NoSuchMethodError: Class '_InternalLinkedHashMap<String, dynamic>' has no instance method 'cast' with matching arguments.
E/flutter (26270): Receiver: _LinkedHashMap len:1
E/flutter (26270): Tried calling: cast<Map<String, dynamic>>()
E/flutter (26270): Found: cast<RK, RV>() => Map<RK, RV>
E/flutter (26270): #0      Object.noSuchMethod (dart:core-patch/object_patch.dart:54:5)
E/flutter (26270): #1      JsonImageListWidget.FetchTopic (package:*******//main.dart:253:48)
E/flutter (26270): <asynchronous suspension>
E/flutter (26270): #2      JsonImageListWidget.initState.<anonymous closure> (package:*******/main.dart)
E/flutter (26270): <asynchronous suspension>
E/flutter (26270): 

من الكود التالي:

  Future<List<Flowerdata>> FetchTopic() async {
    apiURL =
        'https://****************.php?Country=' +
           Cuntry.toString();
    var response = await http.post(Uri.parse(apiURL));

    var flowers = List<Flowerdata>();

    if (response.statusCode == 200) {
      final items = json.decode(response.body).cast<Map<String, dynamic>>();
      List<Flowerdata> listOfFruits = items.map<Flowerdata>((json) {
        return Flowerdata.fromJson(json);
      }).toList();

      return listOfFruits;
    } else {
    
      throw Exception('Failed to load data from Server.');
    }
  }

في احد يعرف سبب حدوث هذا المشكله او صارت لديه من قبل نفسها؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 1
json.decode(response.body).cast<Map<String, dynamic>>();

المشكلة في هذا السطر.

يمكن التحويل لـ Map مباشرة كالتالي:

final Map<String, dynamic> parsed = json.decode(response.body); 
أو
final Map parsed = json.decode(response.body); 

أو

أو إلى قائمة:

final List parsedList = json.decode(response.body); 

 

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن