簡體   English   中英

¿ 如何讀取 flutter 中的本地 json 文件?

[英]¿How to read local json files in flutter?

我讀過很多帖子,有人解釋了如何做,但就我而言,它不起作用,我不知道為什么,我已將正確的文件夾添加到 pubspec.yaml 和所有內容,這是我的代碼

import 'package:flutter/material.dart';
import 'dart:convert';
import 'package:flutter/services.dart';
import 'package:flutter/cupertino.dart';
import 'package:workout_time/Widgets/routines_widget.dart';

void main() => runApp(WorkoutTime());

class WorkoutTime extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'My Great App',
      home: Scaffold(
        body: RoutinesWidget(),
      ),
    );
  }
}

class RoutinesWidget extends StatefulWidget {
  @override
  _RoutinesWidgetState createState() => _RoutinesWidgetState();
}

class _RoutinesWidgetState extends State<RoutinesWidget> {
  @override
  Widget build(BuildContext context) {
    return Center(
      child: FutureBuilder(
        future: rootBundle.loadString("assets/data.json"),
        builder: (context, snapshot) {
          if (!snapshot.hasData) {
            return CircularProgressIndicator();
          }
          var myData = jsonDecode(snapshot.data.toString());
          return Center(
            child: Text(myData == null ? "Nothing here" : myData),
          );
        },
      ),
    );
  }
}

當我運行它時,我得到了 CircularProgressIndicator 小部件,這意味着快照沒有數據。 誰能幫我?

編輯:這是 pubspec.yaml 中我導入文件夾的部分:

assets:
  - assets/
  #   - images/a_dot_burr.jpeg
  #   - images/a_dot_ham.jpeg

代碼 - pubspec.yaml

資產:-資產/json/

代碼 - 在 Class

   static Map<dynamic, dynamic> jsonData;
    loadJson() async {
      String jsonContent = await rootBundle.loadString("assets/json/data.json");
      jsonData = json.decode(jsonContent);
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM