У меня есть файл json, и я хочу отобразить его в контейнере. Я много чего пробовал, но ничего не работает. На данный момент у меня есть эта ошибка Я пробовал использовать jsonDecode (), я знаю, что он возвращает карту, подобную этой карте , но я не знаю, как это исправить.
У меня есть класс продукта и класс ItemCard:
class ItemCard extends StatelessWidget{
final Product product;
final Function press;
const ItemCard({ Key key, this.product, this.press }) : super(key: key);
@override
Widget build(BuildContext context){
return GestureDetector(
onTap: press,
child: Column(
children: <Widget>[
Expanded(
child: Container(
padding: EdgeInsets.all(20),
decoration: BoxDecoration(
color: Colors.green,
borderRadius: BorderRadius.circular(16),
),
/*
child: Hero(
tag: "${product.id}",
child: Image.asset(product.image),
),
*/
),
),
Text(product.brand),
],
),
);
}
}
И в теле мой список:
Container(
child: Expanded(
child: FutureBuilder(
future: DefaultAssetBundle.of(context)
.loadString('assets/watches.json'),
builder: (context,snapshot){
//print(snapshot.data);
var jsondata = jsonDecode(snapshot.data.toString());
return GridView.builder(
itemCount: jsondata.length,
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 2,
mainAxisSpacing: 10,
crossAxisSpacing: 10,
childAspectRatio: 0.75
),
itemBuilder: (context, index) => ItemCard(
product: jsondata[index],
press: (){}
),
);
},
),
),
),
Как я могу это исправить? любая идея поможет