将对象转换为可编码对象失败:“偏移”实例

时间:2020-05-06 13:12:05

标签: json flutter dart encoding server

我正在尝试通过使用'dart:convert'库将其编码为Json格式来发送Dart偏移点。 我已经阅读了文档https://api.flutter.dev/flutter/dart-convert/jsonEncode.html

我得到的错误是序列化内置类。

The following JsonUnsupportedObjectError was thrown while handling a gesture:
Converting object to an encodable object failed: Instance of 'Offset'

我如何序列化诸如Offset和Paint类之类的内置类,这是将数据发送到服务器的正确方法吗?

TestData类包含Offset point和toJson()函数

class TestData {
  TestData(this.point);
  Offset point;

  toJson() {
    return{
      'point': point,
    };
  }
}

编码器功能

String jsonEncoder() {
    Map testDataMap = this.testDataObj.toJson();
    String jsonStringData = jsonEncode(testDataMap);
    return jsonStringData;
}

1 个答案:

答案 0 :(得分:1)

我将显式返回JSON:

return { 'point': {dx: "$point.dx", dy: "$point.dy"}, };