编辑代码

package main

import (
	"encoding/json"
	"fmt"
	"log"
)

// 指标结构
type Indicator struct {
	EngName string  `json:"0"`
	ChnName string  `json:"1"`
	Value   float32 `json:"2"`
	Method  int     `json:"3"`
}

// 统计单元结构
type StatUnit struct {
	Data [][][]interface{} `json:"data"`
}

// 统计大类结构
type StatClass struct {
	CName string              `json:"c_name"`
	Data  [][][]interface{}   `json:"data"`
}

func main() {
	// 构建数据
	classes := map[string]StatClass{
		"class_1": {
			CName: "分类中文名1",
			Data: [][][]interface{}{
				{
					{"指标1英文名", "指标1中文名", float32(1.23), 1},
				},
				{
					{"指标2英文名", "指标2中文名", float32(4.56), 2},
				},
			},
		},
		"class_2": {
			CName: "分类中文名2",
			Data: [][][]interface{}{
				{
					{"指标3英文名", "指标3中文名", float32(7.89), 3},
				},
				{
					{"指标4英文名", "指标4中文名", float32(0.12), 4},
				},
			},
		},
	}

	// 将数据序列化为JSON
	jsonData, err := json.MarshalIndent(classes, "", "    ")
	if err != nil {
		log.Fatalf("Error occurred during marshaling. Error: %s", err.Error())
	}

    testData := []interface{}{
        "test", "测试", 100.0, 1,
    }

	// 输出JSON
	fmt.Println( testData)
	fmt.Println(string(jsonData))
}