package json import ( "encoding/json" "fmt" "strconv" "strings" "code.oliverdavies.uk/opdavies/cmd-zet/internal/ansi" ) type Item struct { ID int `json:"id"` Title string `json:"title"` } func AsJSON(zets []string) (string, error) { var items []Item for _, entry := range zets { cleanEntry := ansi.StripANSI(entry) parts := strings.SplitN(cleanEntry, " ", 2) id, _ := strconv.Atoi(parts[0]) item := Item{ ID: id, Title: parts[1], } items = append(items, item) } jsonData, err := json.MarshalIndent(items, "", " ") if err != nil { fmt.Println("Error marshaling to JSON:", err) return "", err } return string(jsonData), nil }