нужно распарсить сложный json на Dart(Flutter)
Вот json:
[
{
"office": "Пекарня номер 1",
"sensorTable": [
{
"Ok": 1,
"id": 4,
"maxTemp": "-",
"maxTrigerStatus": 0,
"minTemp": "-",
"minTrigerStatus": 0,
"module": 14906218,
"office": "Пекарня номер 1",
"sensor": "DS18B20",
"status": 2,
"tempCur": 22.6,
"tempData": "2021-06-01 12:54:50",
"tempTrigMax": 50,
"tempTrigMin": -50
},
{
"Ok": 1,
"id": 5,
"maxTemp": "-",
"maxTrigerStatus": 0,
"minTemp": "-",
"minTrigerStatus": 0,
"module": 14906218,
"office": "Пекарня номер 1",
"sensor": "temp-1",
"status": 2,
"tempCur": 22.6,
"tempData": "2021-06-01 12:54:50",
"tempTrigMax": 50,
"tempTrigMin": -50
},
{
"Ok": 1,
"id": 6,
"maxTemp": "-",
"maxTrigerStatus": 0,
"minTemp": "-",
"minTrigerStatus": 0,
"module": 14906218,
"office": "Пекарня номер 1",
"sensor": "temp-2",
"status": 2,
"tempCur": 22.1,
"tempData": "2021-06-01 12:54:50",
"tempTrigMax": 0,
"tempTrigMin": 0
}
]
},
{
"office": "Склад",
"sensorTable": [
{
"Ok": 1,
"id": 2,
"maxTemp": "-",
"maxTrigerStatus": 0,
"minTemp": "-",
"minTrigerStatus": 0,
"module": 3427178,
"office": "Склад",
"sensor": "Стеллажи",
"status": 2,
"tempCur": 21.3,
"tempData": "2021-05-12 00:08:36",
"tempTrigMax": 50,
"tempTrigMin": -50
},
{
"Ok": 1,
"id": 3,
"maxTemp": "-",
"maxTrigerStatus": 0,
"minTemp": "-",
"minTrigerStatus": 0,
"module": 3427178,
"office": "Склад",
"sensor": "Узел сортировки",
"status": 2,
"tempCur": -21.1,
"tempData": "2021-05-12 00:08:36",
"tempTrigMax": 50,
"tempTrigMin": -50
}
]
}
]
Код получения данных с сервера:
import 'package:dio/dio.dart';
Dio dio = Dio();
Future getSensorsList() async {
final url = 'http://1c.unduty.ru:3014/api/v1/sensorsList?token=c21bf03d52654a66';
final response = await dio.get(url);
}
Источник: Stack Overflow на русском