Привет, я немного новичок в Flutter. У меня возникла проблема при попытке применить метод get к API, который возвращает мне список юристов. Я получаю следующую ошибку: «Ошибка: TypeError: Экземпляр «JSArray»: тип «Список» не является подтипом типа «Map»»
Это мой код в модели, созданной по адресу https: //app.quicktype.io/
import 'dart:convert';
List getLawyerModelsFromJson(String str) => List.from(json.decode(str).map((x) => GetLawyerModels.fromJson(x)));
String getLawyerModelsToJson(List data) => json.encode(List.from(data.map((x) => x.toJson())));
class GetLawyerModels {
final int id;
final String name;
final String lastName;
final String telephones;
final int age;
final dynamic link1;
final dynamic link2;
final dynamic link3;
final String perfilPhoto;
GetLawyerModels({
required this.id,
required this.name,
required this.lastName,
required this.telephones,
required this.age,
required this.link1,
required this.link2,
required this.link3,
required this.perfilPhoto,
});
factory GetLawyerModels.fromJson(Map json) => GetLawyerModels(
id: json["id"],
name: json["name"],
lastName: json["last_name"],
telephones: json["telephones"],
age: json["age"],
link1: json["link_1"],
link2: json["link_2"],
link3: json["link_3"],
perfilPhoto: json["perfil_photo"],
);
Map toJson() => {
"id": id,
"name": name,
"last_name": lastName,
"telephones": telephones,
"age": age,
"link_1": link1,
"link_2": link2,
"link_3": link3,
"perfil_photo": perfilPhoto,
};
}
Это мой код в помощнике, где я делаю запрос на получение API
class GetLawyer {
final _dio = Dio();
Future getLawyer() async {
const String apiUrl = 'http://127.0.0.1:8000/layers/';
try {
print('token provider ${Token.instance.tokenValue}');
// Hacer una solicitud HTTP GET
Response response = await _dio.get(
apiUrl,
options: Options(
headers: {
'Authorization': 'token ${Token.instance.tokenValue}',
},
),
);
// Verificar si la respuesta es exitosa
if (response.statusCode == 200) {
final getLayers = GetLawyerModels.fromJson(response.data);
// Devolver el JSON decodificado
return getLayers.toJson();
} else {
// Manejar el error si el status code no es 200
throw Exception('Error al obtener los datos');
}
} catch (e) {
// Manejar cualquier excepción que pueda ocurrir
print('Error: $e');
throw Exception('Error al obtener los datos');
}
}
}
моя ошибка связана с отправкой ответа модели, представляющей собой список, но я не знаю, как решить проблему.
это список, возвращаемый API
[
{
"id": 1,
"name": "John",
"last_name": "Doe",
"telephones": "59160881",
"age": 34,
"link_1": null,
"link_2": null,
"link_3": null,
"perfil_photo": "/media/images/e9dcfc7d006d0f07212211f19a8be4a9.jpg"
},
{
"id": 1,
"name": "Emily",
"last_name": "Shelbi",
"telephones": "59160881",
"age": 44,
"link_1": null,
"link_2": null,
"link_3": null,
"perfil_photo": "/media/images/e9dcfc7d006d0f07212211f19a8be4a9.jpg"
}
]
Подробнее здесь: https://stackoverflow.com/questions/791 ... c-is-not-a
Ошибка: TypeError: экземпляр «JSArray<dynamic>»: тип «List<dynamic>» не является подтипом типа «Map<List<dynamic>, Dynam ⇐ Android
Форум для тех, кто программирует под Android
1729819859
Anonymous
Привет, я немного новичок в Flutter. У меня возникла проблема при попытке применить метод get к API, который возвращает мне список юристов. Я получаю следующую ошибку: «Ошибка: TypeError: Экземпляр «JSArray»: тип «Список» не является подтипом типа «Map»»
Это мой код в модели, созданной по адресу https: //app.quicktype.io/
import 'dart:convert';
List getLawyerModelsFromJson(String str) => List.from(json.decode(str).map((x) => GetLawyerModels.fromJson(x)));
String getLawyerModelsToJson(List data) => json.encode(List.from(data.map((x) => x.toJson())));
class GetLawyerModels {
final int id;
final String name;
final String lastName;
final String telephones;
final int age;
final dynamic link1;
final dynamic link2;
final dynamic link3;
final String perfilPhoto;
GetLawyerModels({
required this.id,
required this.name,
required this.lastName,
required this.telephones,
required this.age,
required this.link1,
required this.link2,
required this.link3,
required this.perfilPhoto,
});
factory GetLawyerModels.fromJson(Map json) => GetLawyerModels(
id: json["id"],
name: json["name"],
lastName: json["last_name"],
telephones: json["telephones"],
age: json["age"],
link1: json["link_1"],
link2: json["link_2"],
link3: json["link_3"],
perfilPhoto: json["perfil_photo"],
);
Map toJson() => {
"id": id,
"name": name,
"last_name": lastName,
"telephones": telephones,
"age": age,
"link_1": link1,
"link_2": link2,
"link_3": link3,
"perfil_photo": perfilPhoto,
};
}
Это мой код в помощнике, где я делаю запрос на получение API
class GetLawyer {
final _dio = Dio();
Future getLawyer() async {
const String apiUrl = 'http://127.0.0.1:8000/layers/';
try {
print('token provider ${Token.instance.tokenValue}');
// Hacer una solicitud HTTP GET
Response response = await _dio.get(
apiUrl,
options: Options(
headers: {
'Authorization': 'token ${Token.instance.tokenValue}',
},
),
);
// Verificar si la respuesta es exitosa
if (response.statusCode == 200) {
final getLayers = GetLawyerModels.fromJson(response.data);
// Devolver el JSON decodificado
return getLayers.toJson();
} else {
// Manejar el error si el status code no es 200
throw Exception('Error al obtener los datos');
}
} catch (e) {
// Manejar cualquier excepción que pueda ocurrir
print('Error: $e');
throw Exception('Error al obtener los datos');
}
}
}
моя ошибка связана с отправкой ответа модели, представляющей собой список, но я не знаю, как решить проблему.
это список, возвращаемый API
[
{
"id": 1,
"name": "John",
"last_name": "Doe",
"telephones": "59160881",
"age": 34,
"link_1": null,
"link_2": null,
"link_3": null,
"perfil_photo": "/media/images/e9dcfc7d006d0f07212211f19a8be4a9.jpg"
},
{
"id": 1,
"name": "Emily",
"last_name": "Shelbi",
"telephones": "59160881",
"age": 44,
"link_1": null,
"link_2": null,
"link_3": null,
"perfil_photo": "/media/images/e9dcfc7d006d0f07212211f19a8be4a9.jpg"
}
]
Подробнее здесь: [url]https://stackoverflow.com/questions/79124010/error-typeerror-instance-of-jsarraydynamic-type-listdynamic-is-not-a[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия