Метод 'forEach' был вызван нулем в моем флаттере - PullRequest
0 голосов
/ 07 февраля 2020

У меня проблема с моим forEach, dataList равен нулю, это мой код:

Future<List<Widget>> createList()async{
List<Widget> items = new List<Widget>();
String dataString = await DefaultAssetBundle.of(context).loadString("assets/data.json");
List<dynamic> dataJSON = jsonDecode(dataString);

dataJSON.forEach((object) {
  String finalString="";
  List<dynamic> dataList = object["placeItems"];
  dataList.forEach((item) {
    finalString = finalString + item + " | ";
  });

это мои json данные:

[
    {
        "placeImage":"images/fish2.jpg",
        "placeName":"Ikan 2",
        "placeItem":["fish, crab, seafood"],
        "minOrder":20
    },

]

1 Ответ

0 голосов
/ 07 февраля 2020

Я сделал упрощенную версию вашего кода в этом DartPad

Вы делаете две ошибки, во-первых, JSON недопустим из-за запятой после первого объекта из списка, и второе - вы пытаетесь получить

object["placeItems"];

. Что является ошибкой, это должно быть "placeItem". Я предлагаю вам немного больше взглянуть на свой код, прежде чем отправлять его в SO. А также, чтобы проверить немного больше о JSON структуре здесь . (Подсказка) Значения, разделенные запятыми внутри placeItems - это всего лишь один элемент в списке, потому что они находятся в одной строке. Удачного кодирования!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...