Future<void> main() async {
List<Map<String, dynamic>> fetchData2 = await fetchData();
fetchData2.forEach((element) {
print(element.runtimeType);
print(element.keys);
print(element.values);
});
print(fetchData2);
}
Future<List<Map<String, dynamic>>> fetchData() async {
final response =
await get(Uri.parse("https://api.wazirx.com/api/v2/tickers"));
if (response.statusCode == 200) {
Map<String, dynamic> responseJson = json.decode(response.body);
// print(responseJson.runtimeType);
List<Map<String, dynamic>> list = [];
var cd = responseJson.forEach((key, value) {
Map<String, dynamic> value2 = Map.of({key: value});
list.add(value2);
});
return list;
} else {
throw Exception('Unexpected Error Occured!');
}
}
Output
_InternalLinkedHashMap<String, dynamic>
1+===========>(btcinr)
({base_unit: btc, quote_unit: inr, low: 3001337.0, high: 3145000.0, last: 3102692.0, type: SPOT, open: 3090720, volume: 256.70627, sell: 3108375.0, buy: 3102776.0, at: 1646668281, name: BTC/INR})
_InternalLinkedHashMap<String, dynamic>
2+===========>(xrpinr)
({base_unit: xrp, quote_unit: inr, low: 56.4, high: 59.7997, last: 59.1699, type: SPOT, open: 58.333, volume: 688814.2, sell: 59.1663, buy: 59.0, at: 1646668281, name: XRP/INR})
_InternalLinkedHashMap<String, dynamic>
3+===========>(ethinr)
({base_unit: eth, quote_unit: inr, low: 200000.0, high: 210582.8, last: 207599.7, type: SPOT, open: 208225, volume: 528.2563, sell: 207672.0, buy: 207506.5, at: 1646668281, name: ETH/INR})
_InternalLinkedHashMap<String, dynamic>
4+===========>(trxinr)
({base_unit: trx, quote_unit: inr, low: 4.6206, high: 4.8, last: 4.782, type: SPOT, open: 4.721, volume: 12397343.0, sell: 4.782, buy: 4.7788, at: 1646668281, name: TRX/INR})
_InternalLinkedHashMap<String, dynamic>
5+===========>(eosinr)
({base_unit: eos, quote_unit: inr, low: 153.49, high: 161.97, last: 159.12, type: SPOT, open: 159, volume: 8064.39, sell: 159.86, buy: 159.02, at: 1646668281, name: EOS/INR})
_InternalLinkedHashMap<String, dynamic>
6+===========>(zilinr)
({base_unit: zil, quote_unit: inr, low: 2.95, high: 3.18, last: 3.14, type: SPOT, open: 3.04, volume: 1926347.0, sell: 3.13, buy: 3.12, at: 1646668281, name: ZIL/INR})
_InternalLinkedHashMap<String, dynamic>
7+===========>(batinr)
({base_unit: bat, quote_unit: inr, low: 49.511, high: 53.0, last: 51.782, type: SPOT, open: 51.799, volume: 42537.25, sell: 52.812, buy: 51.809, at: 1646668281, name: BAT/INR})
_InternalLinkedHashMap<String, dynamic>
8+===========>(zrxinr)
({base_unit: zrx, quote_unit: inr, low: 37.0, high: 39.43, last: 38.59, type: SPOT, open: 38.34, volume: 27340.61, sell: 39.34, buy: 38.48, at: 1646668281, name: ZRX/INR})
_InternalLinkedHashMap<String, dynamic>
9+===========>(reqinr)

SAmple Code
// To parse this JSON data, do
//
// final bricklink = bricklinkFromJson(jsonString);
import 'dart:convert';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:http/http.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
runApp(MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: MyHomePage(title: 'Scanner'),
);
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({Key? key, required this.title}) : super(key: key);
final String title;
@override
State<MyHomePage> createState() => _MyHomePageState();
}
int myvalue = 0;
class _MyHomePageState extends State<MyHomePage> {
int _counter = 0;
@override
void initState() {}
Future<int> functions() async {
// do something here
return Future.value();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Scanner"),
backgroundColor: Colors.green,
),
body: FutureBuilder(
future: fetchData(),
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.done) {
List<Map<String, dynamic>> data =
snapshot.data as List<Map<String, dynamic>>;
return Container(
color: Colors.white,
child: ListView.builder(
itemCount: data.length,
itemBuilder: (context, index) {
return ListTile(
title: Text((data[index] as Map<String, dynamic>)
.keys
.single
.toString()),
subtitle: Text((data[index] as Map<String, dynamic>)
.values
.single
.toString()),
leading: CircleAvatar(
child: Text((data[index] as Map<String, dynamic>)
.keys
.single[0]
.toString())),
);
},
),
);
} else {
return Center(
child: Container(
height: 50,
width: 50,
child: CircularProgressIndicator(),
),
);
}
}),
);
}
}
class Page1 extends StatelessWidget {
var _controller = TextEditingController();
Page1({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Column(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Center(
child: Container(
height: 55,
child: ElevatedButton(
style: ButtonStyle(
backgroundColor: MaterialStateProperty.all(Colors.green)),
onPressed: () {},
child: Text(
"Choose the Date",
style: TextStyle(fontSize: 25),
)),
),
),
Center(
child: Text(
"No date Choosen",
style: TextStyle(fontSize: 16),
),
),
Center(
child: Wrap(
// direction: Axis.vertical,
children: [
RadioListTile(
title: Text("home"),
value: "Home",
groupValue: "Home",
onChanged: (v) {}),
RadioListTile(
title: Text("Company"),
value: "Company",
groupValue: "Home",
onChanged: (v) {}),
RadioListTile(
title: Text("Other"),
value: "Other",
groupValue: "Home",
onChanged: (v) {}),
],
),
),
Center(
child: Padding(
padding: const EdgeInsets.all(8.0),
child: TextFormField(
controller: _controller,
decoration: InputDecoration(
hintText: "Enter the number of bottels",
border: OutlineInputBorder(),
),
),
),
),
Container(
// height: 75,
padding: EdgeInsets.symmetric(horizontal: 50),
child: Row(
children: [
Expanded(
child: Container(
height: 55,
child: ElevatedButton(
style: ButtonStyle(
backgroundColor:
MaterialStateProperty.all(Colors.green)),
onPressed: () {},
child: Text(
"Start",
style: TextStyle(fontSize: 25),
)),
),
),
],
),
)
],
);
}
}
Future<List<Map<String, dynamic>>> fetchData() async {
final response =
await get(Uri.parse("https://api.wazirx.com/api/v2/tickers"));
if (response.statusCode == 200) {
Map<String, dynamic> responseJson = json.decode(response.body);
// print(responseJson.runtimeType);
List<Map<String, dynamic>> list = [];
var cd = responseJson.forEach((key, value) {
Map<String, dynamic> value2 = Map.of({key: value});
list.add(value2);
});
return list;
} else {
throw Exception('Unexpected Error Occured!');
}
}