У меня есть JSON вот так (ссылка API)
[
{
"value": 12
},
{
"value": 12.0
},
{
"value": "twelve"
}
]
Как установить условия данных на:
- Если значение
int
then => Text('Int ${_value[i].value.toString()}')
- Если значение
double
then => Text('Double ${_value[i].value.toString()}')
- Если значение
String
then => Text('String ${_value[i].value}')
будет отображаться как изображение ниже введите описание изображения здесь
поэтому, пожалуйста, помогите мне, это файл модели:
import 'dart:convert';
List<Value> valueFromJson(String str) => List<Value>.from(json.decode(str).map((x) => Value.fromJson(x)));
String valueToJson(List<Value> data) => json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
class Value {
Value({
this.value,
});
dynamic value;
factory Value.fromJson(Map<String, dynamic> json) => Value(
value: json["value"],
);
Map<String, dynamic> toJson() => {
"value": value,
};
}
, а это главный файл:
import 'package:ask/model/value_model.dart';
import 'package:ask/services/value_services.dart';
import 'package:flutter/material.dart';
class Page4 extends StatefulWidget {
@override
_Page4State createState() => _Page4State();
}
class _Page4State extends State<Page4> {
List<Value> _value = [];
@override
void initState() {
super.initState();
ValueServices.getValue().then((value) {
setState(() {
_value = value;
});
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('Value')),
body: Column(
children: [
for (int i = 0; i < _value.length; i++)
// How to set Conditions here
],
),
);
}
}