【发布时间】:2021-12-18 05:03:33
【问题描述】:
我不明白如何解析从 firebase 获得的 JSON 文件。
这是 JSON 文件的格式
{
"water" : {
"-MnRJkFC3--ZOTmpF1xN" : {
"milliliters" : 0.14,
"time" : "16:26:25"
},
"-MnRJkZRwZYEInHfSKIY" : {
"milliliters" : 48.83,
"time" : "16:26:25"
},
"-MnRJksES18hY765rxxq" : {
"milliliters" : 41.44,
"time" : "16:26:25"
},
"-MnRJlDn6o4RmiGRJS-E" : {
"milliliters" : 11.37,
"time" : "16:26:25"
}
}
}
这就是我读取 JSON 文件的方式
Future loadSalesData() async {
final String jsonString = await getJsonFromFirebase();
final dynamic jsonResponse = json.decode(jsonString);
for (Map<String, dynamic> i in jsonResponse)
chartData.add(SalesData.fromJson(i));
}
getJsonFromFirebase() 看起来像这样:
Future<String> getJsonFromFirebase() async {
String url =
"https://emailpassword. . .seio.com/water.json";
http.Response response = await http.get(Uri.parse(url));
return response.body;
}
当您单击链接时,它会将您发送到如下所示的 JSON 文件
{
"-Mnbk2ye2P8bfpaQvNaU": {
"milliliters": 0.0,
"time": "18:07:00"
},
"-Mnbk6wd-wJze8P0JknK": {
"milliliters": 0.12,
"time": "18:07:00"
},
"-Mnbk7Ek629vgBu-MiLg": {
"milliliters": 44.91,
"time": "18:07:00"
},
"-Mnbk7bPuzqwsz9d5nm6": {
"milliliters": 5.43,
"time": "18:07:00"
},
"-Mnbk7v7MADi7YzEbeFI": {
"milliliters": 24.54,
"time": "18:07:00"
},
"-Mnbk8DGfqswckdsA1qP": {
"milliliters": 47.58,
"time": "18:07:00"
},
"-Mnbk8Xw2kJPxLrqCl6h": {
"milliliters": 13.98,
"time": "18:07:00"
}
}
我得到错误
_InternalLinkedHashMap
' 不是“Iterable”类型的子类型
【问题讨论】:
-
getJsonFromFirebase长什么样子? -
嗨弗兰克,这就是 getJsonFromFirebase 的样子 Future
getJsonFromFirebase() async { String url = "emailpass. . . .firebaseio.com/water.json"; http.Response 响应 = 等待 http.get(Uri.parse(url));返回响应.body; } 该链接将您发送到我的实时数据库中的 JSON 文件 -
当您点击链接时,JSON 文件看起来像这样 {"-Mnbk2ye2P8bfpaQvNaU":{"milliliters":0.0,"time":"18:07:00"},"-Mnbk6wd-wJze8P0JknK ":{"毫升":0.12,"时间":"18:07:00"},"-Mnbk7Ek629vgBu-MiLg":{"毫升":44.91,"时间":"18:07:00"}," -Mnbk7bPuzqwsz9d5nm6":{"毫升":5.43,"时间":"18:07:00"},"-Mnbk7v7MADi7YzEbeFI":{"毫升":24.54,"时间":"18:07:00"}," -Mnbk8DGfqswckdsA1qP":{"毫升":47.58,"时间":"18:07:00"},"-Mnbk8Xw2kJPxLrqCl6h":{"毫升":13.98,"时间":"18:07:00"}}
标签: json firebase flutter dart firebase-realtime-database