json - 如何从 json 字符串中获取颜色值并在 Flutter Dart 中使用它
问题描述
我有一个 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 假设我想将颜色放在容器背景中
IE
Container(width: 200,height:200,color:colordata,)
这会给我一个错误,因为 colordata 不是Color 类型。那么我应该怎么做才能像这样使用 JSON 颜色。
解决方案
您可以将颜色存储为可 JSON 编码的十六进制文字/int,然后将其传递给Color
构造函数:
var user= {
'Name':'khan',
'Country':'Pakistan',
'color': 0xffffff,
};
String encodedjson=jsonEncode(user);
Map<String,dynamic> decodedJson=jsonDecode(encodedjson);
var colordata = Color(decodedJson['color']);
推荐阅读
- postgresql - 如何使用 JSON 参数运行“返回 void”函数?
- spring-boot - Swagger UI 版本 3 返回 404 页面但 api-docs 正在工作
- java - 无法在 Spring Boot 中进行服务帐户调用
- python - 在pyspark中用“”替换null
- python - 如何使用 cv2 在图像上放置文本?
- android - 如何告诉匕首柄使用我自己的 ViewModelFactory 而不是默认值?
- python - 如何获得最后 10 个工作日,如果
- jquery - jquery TableExport 插件的编码/特殊字符?
- ruby-on-rails - POST http://localhost:3000/post/vote 500(内部服务器错误) - 尝试在 Rails 中发布 ajax 时没有路由匹配 [GET] "/post/vote"
- python-3.x - 如何遍历 2d 列表并使用每个内部列表替换项目?