【问题标题】:How to get Color value from a json string and use it in Flutter Dart如何从 json 字符串中获取颜色值并在 Flutter Dart 中使用它
【发布时间】:2021-07-24 05:43:35
【问题描述】:

我有一个 JSON 分配给一个名为 user

的变量
 var user= {
'Name':'khan',
'Country':'Pakistan',
'color':'Color(0xffffff)',
};

假设我想从中获取数据并在某处使用它。

 String encodedjson=jsonEncode(user);
    Map <String,dynamic> decodedJson=jsonDecode(encodedjson);
var colordata=decodedJson['color'];

现在我想使用 colordata 假设我想将颜色放在容器背景中

 Container(width: 200,height:200,color:colordata,)

这会给我一个错误,因为 colordata 不是 type Color.. 那么像这样使用 JSON 颜色该怎么办呢。

【问题讨论】:

  • 您能否更改存储在 JSON 中的内容?
  • 是的,我可以在我的实际代码中添加它。

标签: json flutter dart flutter-web


【解决方案1】:

您可以将颜色存储为十六进制文字/整数,它是 JSON 可编码的,然后将其传递给 Color 构造函数:

var user= {
'Name':'khan',
'Country':'Pakistan',
'color': 0xffffff,
};
String encodedjson=jsonEncode(user);
Map<String,dynamic> decodedJson=jsonDecode(encodedjson);
var colordata = Color(decodedJson['color']);

【讨论】:

  • 实际上,JSON 中的更改是使用 ColorPicker 进行的。 void changeColor(Color color) {user['color']=color;}
  • @MehranUllah 你能改写你说的话。不清楚。
  • 实际上,JSON 中的更改是使用 ColorPicker 进行的。 void changeColor(Color color) {user['color']=color;}
  • @MehranUllah 然后user['color']=color.value;
猜你喜欢
  • 1970-01-01
  • 2022-12-19
  • 1970-01-01
  • 1970-01-01
  • 2023-01-31
  • 1970-01-01
  • 2011-07-12
  • 1970-01-01
  • 2017-07-25
相关资源
最近更新 更多