首页 > 解决方案 > 如何解析包含列表和嵌套对象的简单 JSON 文件

问题描述

我已将我的 JSON 数据复制到颤振中的本地文件并将其用作资产。

我需要解析 JSON 文件中的数据并获取 Text 小部件列表

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 帮助将 disc_name 的数据解析为我的应用程序中的文本 列表该 JSON 中有很多 disc_name 列表。我想在文本小部件中获取所有列表名称

JSON 文件链接:JsonLinkoffoodData

标签: jsonlistflutterdartnested

解决方案


  with: print(myData.length);
  print(myData);

这些是输出:

I/flutter (16203): 1 I/flutter (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,dish_name:菠菜沙拉,dish_price:7.95,dish_image:http: //restaurants.unicomerp.net//images/Restaurant/1010000001/Item/Items/100000001.jpg,dish_currency:SAR,dish_calories :15,dish_description:新鲜菠菜、蘑菇和煮鸡蛋,配上热熏肉油醋汁,dish_Availability:true,dish_Type:2,nexturl:http://snapittap


推荐阅读