【问题标题】:convert JSON String to the list object in flutter在flutter中将JSON字符串转换为列表对象
【发布时间】:2018-09-07 15:44:16
【问题描述】:

我对飞镖颤振还是个新手。现在我正在尝试从 REST API 中提取数据。按照我制作的脚本:

class ChatCard {
  final String chatdetail_id;
  final String chatdetail_userfullname;
  final String chatdetail_userurlphoto;
  final String chatdetail_message;
  final int chatdetail_isread;
  final String chatdetail_datetime;

  ChatCard({
    this.chatdetail_id,
    this.chatdetail_userfullname,
    this.chatdetail_userurlphoto,
    this.chatdetail_message,
    this.chatdetail_isread,
    this.chatdetail_datetime
  });

  factory ChatCard.fromJson(Map<String, dynamic> json) {
    return new ChatCard(
      chatdetail_id : json['chatdetail_id'] as String,
      chatdetail_userfullname : json['chatdetail_userfullname'] as String,
      chatdetail_userurlphoto : json['chatdetail_userurlphoto'] as String,
      chatdetail_message : json['chatdetail_message'] as String,
      chatdetail_isread : json['chatdetail_isread'] as int,
      chatdetail_datetime : json['chatdetail_datetime'] as String
    );
  }
}

class ChatCardList extends StatefulWidget {

  List<ChatCard> chatcard;

  ChatCardList({Key key, this.chatcard}) : super(key: key);

  @override
  _ChatCardListState createState() => new _ChatCardListState(chatcard:chatcard);

  ChatCardList.tambah(String message) {
    print("RESULT MESSAGE = " + message); //result on console : [{"createdAt":"2018-08-16T02:38:37.757Z","is_read":1,"_id":"5b74e3ad26c7de02ed664dd2","from_id":"5b74d3f5e0da63027ab03664","from_name":"Ahmad Adiwijaya","from_photo":"","from_device":"Mobile Phone","text":"Kami dari sekolah tinggi yg hanya satu prodi. Apakah lembaga penjaminan mutuh harus 2, yaitu LPM pada level institusi dan UPM pada level prodi?"},{"from_id":"SystemDate","from_name":"System","from_photo":"","text":"2018-08-23T11:26:53.968Z"}]

  }
}

我的问题是,如何将上面的“RESULT MESSAGE”结果数据输入到List&lt;ChatCard&gt; chatcard类?

非常感谢,

【问题讨论】:

  • 查看我写的帖子:medium.com/@diegoveloper/…
  • 谢谢@Michael Lihs,我已经尝试了您在您所指的链接上创建的脚本。但我的问题不同,在我创建的脚本中,我打算在ChatCardList类的tambah构造函数中填写List &lt;ChatCard&gt; chatcard变量,是否可以,如果可以,我该怎么做它,最好的问候,
  • @DenisRamdan 你找到这个问题的答案了吗?...我想知道这个问题的答案..因为我有和你一样的问题

标签: android dart flutter


【解决方案1】:

你期待这样的吗,

ChatCardList.tambah(String message) {
  List<ChatCard> chatCardList = message
    .map((chatCardJson) => ChatCard.fromJson(chatCardJson))
    .toList();
  print(chatCardList); // [Instance of 'ChatCard', Instance of 'ChatCard']
}

注意:但是控制台打印的json中的keysChatCard中的keys是不同的。您可能需要重新审视它。

【讨论】:

  • 对不起@Dinesh Balasubramanian 我的错误,结果是字符串,而不是数组。 [{"createdAt":"2018-08-16T02:38:37.757Z","is_read":1,"_id":"5b74e3ad26c7de02ed664dd2","from_id":"5b74d3f5e0da63027ab03664","from_name":"Ahmad Adiwijaya","from_photo":"","from_device":"Mobile Phone","text":"Kami dari sekolah tinggi yg hanya satu prodi. Apakah lembaga penjaminan mutuh harus 2, yaitu LPM pada level institusi dan UPM pada level prodi?"},{"from_id":"SystemDate","from_name":"System","from_photo":"","text":"2018-08-23T11:26:53.968Z"}]
猜你喜欢
  • 2018-05-01
  • 2014-04-07
  • 2021-04-14
  • 2020-05-16
  • 2021-08-01
  • 2013-06-25
  • 2019-08-27
  • 2020-05-27
相关资源
最近更新 更多