如何从json字符串中获取颜色值并将其用于Flatter Dart

如何从json字符串中获取颜色值并将其用于Flatter Dart,json,flutter,dart,flutter-web,Json,Flutter,Dart,Flutter Web,我将一个JSON分配给一个名为user var user= { 'Name':'khan', 'Country':'Pakistan', 'color':'Color(0xffffff)', }; 假设我想从中获取数据并在某处使用它 String encodedjson=jsonEncode(user); Map <String,dynamic> decodedJson=jsonDecode(encodedjson); var colordata=decodedJson

我将一个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不是类型Color。。
那么我应该如何使用JSON颜色呢。

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

var user= {
'Name':'khan',
'Country':'Pakistan',
'color': 0xffffff,
};
String encodedjson=jsonEncode(user);
Map<String,dynamic> decodedJson=jsonDecode(encodedjson);
var colordata = Color(decodedJson['color']);
var用户={
'姓名':'汗',
‘国家’:‘巴基斯坦’,
“颜色”:0xffffff,
};
字符串encodedjson=jsonEncode(用户);
Map decodedJson=jsonDecode(encodedjson);
var colordata=Color(decodedJson['Color']);

您是否能够更改JSON中存储的内容?是的,我可以在实际代码中添加它。实际上,JSON中的更改是使用ColorPicker进行的。void changeColor(Color-Color){user['Color']=Color;}@MehranUllah你能重新措辞一下你说的话吗。不清楚。实际上,JSON中的更改是使用ColorPicker进行的。void changeColor(Color Color){user['Color']=Color;}@MehranUllah然后执行
user['Color']=Color.value是的,你是对的。谢谢
var user= {
'Name':'khan',
'Country':'Pakistan',
'color': 0xffffff,
};
String encodedjson=jsonEncode(user);
Map<String,dynamic> decodedJson=jsonDecode(encodedjson);
var colordata = Color(decodedJson['color']);