[英]¿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.