dart中,JsonEncoder.withIndent方法的toEncodable如何使用
时间: 2023-02-08 11:15:51 浏览: 314
JsonEncoder.withIndent方法是用来格式化JSON字符串的输出的。它有一个参数toEncodable,它是一个函数,用来将对象转换为可编码对象,可以自定义这个函数来控制JSON字符串的输出。
例如:
```dart
class Person {
final String name;
final int age;
Person(this.name, this.age);
}
main() {
var person = Person("John Smith", 30);
var json = JsonEncoder.withIndent(" ").convert(person);
print(json);
}
```
如果想自定义toEncodable,可以这样做:
```dart
main() {
var person = Person("John Smith", 30);
var json = JsonEncoder.withIndent(" ", toEncodable: (person) => {"name": person.name, "age": person.age}).convert(person);
print(json);
}
```
这个例子中,自定义toEncodable将person对象转换为一个Map,并输出"name"和"age"字段。
阅读全文