#json #flutter #api #http #get
Вопрос:
Я пытаюсь получить список моих nft. Но это приводит к нулю, я не понимаю, почему. Помогите мне, пожалуйста, объяснить, в чем моя ошибка. Я пытаюсь получить список моих nft. Но это приводит к нулю, я не понимаю, почему. Помогите мне, пожалуйста, объяснить, в чем моя ошибка. Вот пример того, что я хочу получить:
[
{
"id": "d3ff0163-f226-4100-ada7-1aa70903b76e",
"title": "Bear",
"image": "http://10.0.10.59:8000/media/85da36ddccb4a5d6656ecc99901d8109.jpg",
"price": "50.00",
"description": "Коллекция симпатичных пухлых медвежонков",
"tags": "#bear, #fat",
"instagram": "https://www.instagram.com/bear",
"telegram": "https://www.t.me/bear",
"facebook": "https://www.facebook.com/bear",
"owner": 1
},
Модель пользователя:
class User {
final String title;
final String image;
final String price;
final String description;
final String tags;
final String instagram;
final String telegram;
final String facebook;
final String owner;
User(
this.title,
this.image,
this.price,
this.description,
this.tags,
this.instagram,
this.telegram,
this.facebook,
this.owner);
}
Мой код для получения списка:
class _GetState extends State<Get> {
Future<List<User>> _getUsers() async {
Map<String, String> headers = {
HttpHeaders.authorizationHeader:
"Token b93b4cd7480a6b2313700a547f73f4eedd7fef01",
};
var data = await http.get("http://10.0.10.59:8000/account/api/NFT/");
data.headers.addAll(headers);
var jsonData = json.decode(data.body);
List<User> users = [];
for (var u in jsonData) {
User user = User(
u["title"],
u["image"],
u["price"],
u["description"],
u["tags"],
u["instagram"],
u["telegram"],
u["facebook"],
u["owner"],
);
users.add(user);
}
print(users.length);
return users;
}
На консоли отображается это сообщение:
I/flutter (18216): null
I/flutter (18216): null
Ответ №1:
Вы написали ключи с заглавной u["..."]
буквы, но исходные ключи в JSON-это не так.
Измените u["Title"]
на u["title"]
, u["image"]
, … и это должно сработать.
Редактировать: Я вижу, что ваш JSOn может быть в массиве.. так что это может быть u[0][«название»], но я не уверен, так как вы не предоставили полный ответ json
Комментарии:
1. Я сделал так, как вы сказали, что это не сработало, а также попытался изменить его на маленькие буквы везде, где это тоже не сработало, спасибо за ваш отзыв