اذهب إلى المحتوى
  • 0

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

Flutter Dev

السؤال

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

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

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

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.');
    }
  }

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

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

Recommended Posts

  • 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); 

 

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

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...