Как получить данные из вложенного JSON с автоматическим номером?

Как получить данные из вложенного JSON с автоматически сгенерированным номером, подобным этому?

{
  "0": {
    "Id": "1",
    "name": "rob"
  },
  "1": {
    "Id": "2",
    "name": "kevin"

  },
  "3": {
    "Id": "3",
    "name": "Joe"
  }
}

Веб-сайт конвертера JSON в dart генерирует число как класс, и оно слишком длинное:

class AutoGenerate {
  AutoGenerate({
    required this.0,
    required this.1,
    required this.2,
    required this.3,
    required this.4,
    required this.5,
    required this.6,
Как сделать HTTP-запрос в Javascript?
Как сделать HTTP-запрос в Javascript?
В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:
1
0
80
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вам нужно создать две модели. Первая модель типа контейнера и назовем ее. MyUser -> нужно получить значения и игнорировать ключи -> модель должна быть такой:

class MyUser {
  List<Data>? _data;

  MyUser({List<Data>? data}) {
    if (data != null) {
      this._data = data;
    }
  }

  List<Data>? get data => _data;
  set data(List<Data>? data) => _data = data;

  MyUser.fromJson(Map<String, dynamic> json) {
    if (json != null) {
      _data = <Data>[];
      json.values.forEach((v) {
        _data!.add(new Data.fromJson(v));
      });
    }
  }

тогда ваши обычные данные UserModel --> мы можем назвать их Data

class Data {
  String? _id;
  String? _name;

  Data({String? id, String? name}) {
    if (id != null) {
      this._id = id;
    }
    if (name != null) {
      this._name = name;
    }
  }

  String? get id => _id;
  set id(String? id) => _id = id;
  String? get name => _name;
  set name(String? name) => _name = name;

  Data.fromJson(Map<String, dynamic> json) {
    _id = json['Id'];
    _name = json['name'];
  }

}

Другие вопросы по теме