diff --git a/export/json_exporter.go b/export/json_exporter.go index 73cb0e3..d124040 100644 --- a/export/json_exporter.go +++ b/export/json_exporter.go @@ -19,12 +19,11 @@ type JSONExporter struct { Encoder JSONEncoderFunc } -// Export writes messages to the writer using the custom JSON encoder +// Export writes messages to the writer as a JSON array using the custom JSON encoder func (e *JSONExporter) Export(messages []map[string]any, writer io.Writer) error { - for _, msg := range messages { - if err := e.Encoder(msg, writer); err != nil { - return fmt.Errorf("failed to encode message to JSON: %v", err) - } + // Use the encoder to write the entire slice as a JSON array + if err := e.Encoder(messages, writer); err != nil { + return fmt.Errorf("failed to encode messages to JSON: %v", err) } return nil }