如何从 json 中获取 int 并将其解析为 dart 中的 bool?

Posted

技术标签:

【中文标题】如何从 json 中获取 int 并将其解析为 dart 中的 bool?【英文标题】:How to take int from json and parse it as bool in dart? 【发布时间】:2020-05-06 18:13:50 【问题描述】:

我的模型如下:

class Abc extends Model 
  int playful;

  Abc(this.playful) : super(id);

  Abc.fromJson(Map<String, dynamic> json) : this(playful: json['playful']);

  Map<String, dynamic> toJson() 
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['playful'] = this.playful;
    return data;
  

我从json 获得整数值playful(它是1 或0),但我想在我的应用程序中将它用作boolean(在应用程序中接收为bool,但发送为@987654326 @ 在数据库中)。如何实现?

【问题讨论】:

【参考方案1】:

试试这个,

class Abc extends Model 
  bool playful;

  Abc(this.playful) : super(id);

  Abc.fromJson(Map<String, dynamic> json) : this(playful: json['playful'] == 1);

  Map<String, dynamic> toJson() 
    final data = <String, dynamic>;
    data['playful'] = this.playful ? 1 : 0;
    return data;
  

【讨论】:

工作就像一个魅力!完美描述。 :) 谢谢。【参考方案2】:

据我所知,Dart 没有任何解析布尔值的函数或方法。所以我会在这个类中创建一个私有函数,它会返回给定整数的布尔值。

bool parseBool(int integer) 
  return integer == 1;

【讨论】:

以上是关于如何从 json 中获取 int 并将其解析为 dart 中的 bool?的主要内容,如果未能解决你的问题,请参考以下文章

如何从函数内部获取 JSON 数据并将其快速显示在文本字段上?

如何从 CSV 文件中获取数据,并将数据解析为两个逗号之间的 INT?

如何从 JSON 文件中随机获取并将其呈现为 FlatList?

如何从另一个网页获取值并将其存储为变量?

如何从 std::string 中获取 2 个字符并将其转换为 C++ 中的 int?

使用swift通过模型解析JSON到对象 - 解码int / string麻烦