renderJSON.go 868 B

1234567891011121314151617181920212223242526272829303132333435
  1. package export
  2. import (
  3. "encoding/json"
  4. )
  5. // Render JSON output.
  6. func (export *Export) renderJSON() (render string) {
  7. type solution_type map[string]any
  8. solutions := make([]solution_type, 0)
  9. for solutionIndex, solution := range export.Controller.Solutions {
  10. solutionMap := map[string]any{
  11. "order": solutionIndex,
  12. "row1": solution[0],
  13. "row2": solution[1],
  14. "row3": solution[2],
  15. "row4": solution[3],
  16. "row5": solution[4],
  17. "row6": solution[5],
  18. "row7": solution[6],
  19. "row8": solution[7],
  20. "row9": solution[8],
  21. }
  22. solutions = append(solutions, solutionMap)
  23. }
  24. renderBytes, err := json.Marshal(solutions)
  25. if err != nil {
  26. export.Controller.Outputter.Println("ERROR: json.Marshal error:", err)
  27. export.Controller.Outputter.Println("Printing solution as-is:", solutions)
  28. return ""
  29. }
  30. render = string(renderBytes)
  31. return
  32. }