اذهب إلى المحتوى
  • 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.');
    }
  }

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

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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...