我有一种数据类型Map<String,CartItem> _items = {};
并使用print(_items)
输出是:
{
p1: Instance of 'CartItem',
p2: Instance of 'CartItem'
}
Run Code Online (Sandbox Code Playgroud)
有什么方法可以查看完整的日志(值)CartItem?正如我的期望是:
{
p1: some json formatted structure,
p2: some json formatted structure
}
Run Code Online (Sandbox Code Playgroud)
class CartItem {
final String id;
final String title;
CartItem({
@required this.id,
@required this.title,
});
}
Run Code Online (Sandbox Code Playgroud)
你只需要重写你的toString方法:
class CartItem {
final String id;
final String title;
CartItem({
required this.id,
required this.title,
});
@override
String toString() {
return '{id: $id, title: $title}';
}
}
Run Code Online (Sandbox Code Playgroud)
用法:
main() async {
CartItem item = CartItem(id: '1', title: 'title');
print(item); // {id: 1, title: title}
Map<String, CartItem> items = {
'p1': CartItem(id: '1', title: 'title'),
'p2': CartItem(id: '2', title: 'titl2'),
};
print(items); // {p1: {id: 1, title: title}, p2: {id: 2, title: titl2}}
List<CartItem> list = [
CartItem(id: '1', title: 'title'),
CartItem(id: '2', title: 'title2'),
];
print(list); // [{id: 1, title: title}, {id: 2, title: title2}]
}
Run Code Online (Sandbox Code Playgroud)