Add JSON formatting, implementing JsonSerializable