我正在尝试解码整数列表,例如“[1,2,3,4]”,像这样
decodeJson(json, new List<int>().runtimeType)
但我收到此错误
MapperException: UnsupportedType: List<int>. This type wasn't mapped by redstone_mapper's
transformer. See http://goo.gl/YYMou2 for more information.
这是我的pubspec.yaml
name: restonetest
description: A sample web application
dependencies:
angular: any
appengine: any
browser: any
di: any
fp: any
redstone: any
redstone_mapper: any
shelf_static: any
transformers:
- redstone_mapper
- angular:
html_files:
- lib/client/models/evento/evento.html
我该怎么办?
修改
实际问题似乎是redstone_mapper
变换器。如果我从pubspec.yaml
中取出它,那就可以了。
答案 0 :(得分:1)
这对我来说很好用:
import 'package:redstone_mapper/mapper.dart';
import 'package:redstone_mapper/mapper_factory.dart';
main() {
bootstrapMapper();
String json = "[1,2,3,4]";
var x = decodeJson(json, new List<int>().runtimeType);
print(x);
}
并打印
[1, 2, 3, 4]
答案 1 :(得分:1)
感谢@luizmineo在Redstone Mapper的Github存储库中回答here。显然,您可以只提供列表的特定类型,因为
如果json对象是数组,则解码将生成List 自动
接下来出现的这行代码将适用于问题中公开的内容
decodeJson(json, int);
这个技巧适用于任何类型。