toJson method

Map<String, dynamic> toJson()

Converts the Matrix object to a JSON-serializable Map.

This method creates a Map representation of the Matrix object that can be easily serialized to JSON. The resulting Map contains the following keys:

  • 'font': The font used in the Matrix (type depends on how 'font' is defined in the class).
  • 'rows': The number of rows in the Matrix.
  • 'cols': The number of columns in the Matrix.
  • 'data': A List of Strings, where each String represents a row in the Matrix. In these Strings, '#' represents true (or filled) cells, and '.' represents false (or empty) cells.

The 'data' field is created by transforming the 2D boolean array into a more compact string representation, where each row is converted to a string of '#' and '.' characters.

Returns: A Map<String, dynamic> that can be serialized to JSON, representing the current state of the Matrix object.

Example usage: Matrix matrix = Matrix(...); Map<String, dynamic> jsonMap = matrix.toJson(); String jsonString = jsonEncode(jsonMap);

Implementation

Map<String, dynamic> toJson() {
  return {
    'font': font,
    'rows': rows,
    'cols': cols,
    'data': _data.map((row) {
      return row.map((cell) => cell ? '#' : '.').join();
    }).toList(),
  };
}