Flutter как разобрать json данные Mongodb - PullRequest
0 голосов
/ 06 мая 2020

Я пытаюсь проанализировать некоторые json данные с помощью mongodb, у меня нет данных, я думаю, что пробел с разницей в полях в данных mongodb

{"imei":"865566048694354","_id":"5e7c996fd6eb5f039c50bd26","createdAt":"2020-03-26T12:00:47.021Z","updatedAt":"2020-03-26T12:00:47.021Z","__v":0},{"imei":{"test":{"tactileState":"ignore","pixelState":"ignore"},"name":"h12hhhhgkhh"},"_id":"5ea8357d8c562b3dd8fe5bf1","createdAt":"2020-04-28T13:54:05.094Z","updatedAt":"2020-04-28T13:54:05.094Z","__v":0},{"imei":{"test":{"tactileState":"ignore","pixelState":"ignore"},"name":"h12hhhhgkhh"},"_id":"5ea8366741a5e527446744a2","createdAt":"2020-04-28T13:57:59.035Z","updatedAt":"2020-04-28T13:57:59.035Z","__v":0},{"imei":{"test":{"tactileState":"ignore","pixelState":"ignore","greyState":"ignore"},"name":"h12hhhhgkhh"},"_id":"5ea837614cf7ed30f0163c38","createdAt":"2020-04-28T14:02:09.395Z","updatedAt":"2020-04-28T14:02:09.395Z","__v":0},{"imei":{"test":{"bafleState":"1","microState":"1","vibreurState":"1"},"name":"h12hhhhgkhh"},"_id":"5ea837854cf7ed30f0163c39","createdAt":"2020-04-28T14:02:45.287Z","updatedAt":"2020-04-28T14:02:45.287Z","__v":0}

если вы можете мне помочь, как написать класс и как написать метод во флаттере, потому что все, что я делал, всегда sanpshot не имеет данных, я думаю, что проблема в разнице в полях в данных mongodb создает проблему, потому что все учебники и статьи, которые я вижу, не использовать разные поля dtabase, всегда одинаковая структура, даже со встроенным документом

1 Ответ

0 голосов
/ 06 мая 2020

Предположим, у вас есть json как это

{
 "name": "John Smith",
 "email": "john@example.com"
}

С помощью `dart: convert вы можете сериализовать эту JSON модель двумя способами.

Map<String, dynamic> user = jsonDecode(jsonString);
print('Howdy, ${user['name']}!');

Или создать такая модель

class User {
final String name;
final String email;

User(this.name, this.email);

User.fromJson(Map<String, dynamic> json)
  : name = json['name'],
    email = json['email'];

Map<String, dynamic> toJson() =>
{
  'name': name,
  'email': email,
};
}

А затем используйте ее так:

Map userMap = jsonDecode(jsonString);
var user = User.fromJson(userMap);

print('Howdy, ${user.name}!');

Ссылка здесь .

...