How to return a response made by Laravel API within Json?

lib/screens/home.dart:30:43: Error: The operator ‘[]’ isn’t defined for the class ‘Object?’.
‘Object’ is from ‘dart:core’.
Try correcting the operator to an existing operator, or defining a ‘[]’ operator.
itemCount: snapshot.data[‘data’].length,

I just start learning dart in 3 days and this occur when I tried to do a jsondecode.

this is all I did:

class HomePage extends StatelessWidget {
  const HomePage({
    Key? key,
  }) : super(key: key);

  final String url = 'http://192.168.1.8:8000/api/productAPI';

  Future getProductAPI() async {
    var response = await http.get(Uri.parse(url));

    return jsonDecode(response.body);
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: Text('GP mobile'),
        ),
        body: FutureBuilder(
          future: getProductAPI(),
          builder: (context, snapshot) {
            if (snapshot.hasData) {
              return ListView.builder(
                  dynamic jsonDecode(int)
                  itemCount: snapshot.data['data'].length,
                  itemBuilder: (context, index) {
                    return Text(snapshot.data['data'][index]['name']);
                  });
            } else {
              return Text('no data');
            }
          },
        ));
  }
}

Please help and advice.