【发布时间】:2020-11-13 17:08:39
【问题描述】:
我从 JSON 获取一些数据,我想在我的 JSON 数据中搜索它以防止出现任何错误(如果我要查找的项目,我没有使用它,否则我会在我的程序中使用它)。
这是我的代码,但我不知道为什么会出现错误!
还有一个问题:
我如何在整个程序中存储像 ["daily"][0]["name"] 这样的项目,因为我的 JSON 中的(每日)项目是我想要的一种项目,另一种是特殊功能或社区或特色。
import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
import 'dart:convert';
class ItemShop extends StatefulWidget {
static final String id = 'itemShop';
@override
_ItemShopState createState() => _ItemShopState();
}
var item;
class _ItemShopState extends State<ItemShop> {
var item;
Future fetchItems () async{
http.Response response = await http.get('https://fortniteapi.io/shop?lang=en' , headers: {"Authorization" : "97206de0-b1819688-6af9c8d0-d5ded771"});
if (response.statusCode == 200) {
Map<String , dynamic> item = jsonDecode(response.body);
this.setState(() {
item = item;
});
}
}
@override
void initState() {
super.initState();
fetchItems();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('ItemShop'),
),
body: Container(
color: Colors.blue,
child: Card(
child: Text(jsonDecode(item)['daily'][0]['name']),
)
),
);
}
}
【问题讨论】:
-
能否请您在问题中包含错误?
-
能否请您在问题中包含错误?
-
如果您想在整个项目中使用该项目,请尝试将其存储在本地数据库中,例如:共享偏好或 SQFLite,或者您可以继续通过所有小部件传递该项目。
-
当我使用 jsonDecode(item)['daily'][0]['name'] 时出现此错误:
-
我答错了请看。
标签: android ios json api flutter