Как разобрать простой JSON файл, который содержит списки и вложенные объекты - PullRequest
0 голосов
/ 09 февраля 2020

Я скопировал свои данные JSON в локальный файл во флаттере и использовал их в качестве ресурсов.

Мне нужно проанализировать данные из файла JSON и получить список виджетов Текст

import 'dart:convert';
import 'package:flutter/material.dart';
import 'JsonParsing.dart';

class Home extends StatefulWidget {
  @override
  HomeState createState() => new HomeState();
}

class HomeState extends State<Home> {
  List data;

  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      appBar: AppBar(
        title: Text("Some App"),
      ),
      body: Container(
        child: Center(
          child: FutureBuilder(
            future:
                DefaultAssetBundle.of(context).loadString('jsons/data.json'),
            builder: (context, snapshot) {
              if (!snapshot.hasData) {
                return CircularProgressIndicator();
              }
              Map myData = json.decode(snapshot.data);
              var datas = User.fromJson(myData);
              print(myData.length);
              print(datas);

              return ListView.builder(
                itemBuilder: (BuildContext context, index) {

                  return Card(
                      child: ListTile(
                    title: Text(myData[index]['table_menu_list'][index]['category_dishes']
                        [index]['dish_name']),
                  ));
                },
                itemCount: myData == null ? 0 : myData.length,
              );
            },
          ),
        ),
      ),
    );
  }
}

Этот код выдает ошибку "тип 'Список' не является подтипом типа 'Карта';"

AnyOne помогает разобрать данные в форме dish_name как список текста в моем app В этом списке 101_ блюдо так много JSON. Я хочу получить все имя списка в текстовом виджете

JSON ссылка на файл: JsonLinkoffoodData

Ответы [ 2 ]

0 голосов
/ 10 февраля 2020
  with: print(myData.length);
  print(myData);

Это выходные данные:

I / флаттер (16203): 1 I / флаттер (16203): [{restaurant_id: 1010000001, restaurant_name: UNI Resto Cafe, restaurant_image: http://restaurants.unicomerp.net/images/Restaurant/1010000001.jpg, table_id: 1, table_name: Riyadh-Table 01, branch_name: UNI Resto Cafe-Riyadh, nexturl: http://snapittapp.snapitt.net/api/menu/10/?org=1010000001&branch_id=1000000001&limit=10&offset=20&lang=en, table_menu_list: [{{menu_category: Салаты и супы, menu_category_id: 11 , menu_category_image: http://restaurants.unicomerp.net/images/Restaurant/Item/ItemGroup_11.jpg, nexturl: http://snapittapp.snapitt.net/api/menu/20/?org=1010000001&branch_id=1000000001&menuCat=11&limit=10&offset=20&lang=en, category_dishes: [{dish_id: 100000001, блюдо_имя: салат из шпината, блюдо_цена: 7,95, блюдо_изображение: http://restaurants.unicomerp.net//images/Restaurant/1010000001/Item/Items/100000001.jpg , блюдо_Валюта: SAR, блюдо_калорий: 15, блюдо_Описание: Fre sh шпинат, грибы и яйцо вкрутую, подается с теплым винегретом с беконом, блюдо_доступность: true, блюдо_Тип: 2, следующий сорт: http://snapittap

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