// merge — 合併多個輸入物件為一個 package main import ( "encoding/json" "io" "os" ) type Input struct { Inputs []map[string]interface{} `json:"inputs"` } func main() { raw, err := io.ReadAll(os.Stdin) if err != nil { writeError("failed to read stdin: " + err.Error()) return } var input Input if err := json.Unmarshal(raw, &input); err != nil { writeError("invalid input JSON: " + err.Error()) return } if len(input.Inputs) == 0 { writeError("inputs 陣列不能為空") return } result := make(map[string]interface{}) for _, obj := range input.Inputs { for k, v := range obj { result[k] = v } } out, _ := json.Marshal(map[string]interface{}{"success": true, "data": result}) os.Stdout.Write(out) } func writeError(msg string) { out, _ := json.Marshal(map[string]interface{}{"success": false, "error": msg}) os.Stdout.Write(out) }