Я пытаюсь получить список моих nft. Но выведите null

#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. Я сделал так, как вы сказали, что это не сработало, а также попытался изменить его на маленькие буквы везде, где это тоже не сработало, спасибо за ваш отзыв