go 数据处理,json string 格式转换
我想得到这样的数据:
[{"bank_count":"2151.39408452","emission_all":"38.77887139","emission_discard":"22.52280019","emission_init":"12.13200000","emission_operation":"4.04400000","emission_service":"0.08007120","year":2022},{"bank_count":"2152.45807764","emission_all":"65.10216445","emission_discard":"44.98440754","emission_init":"12.13800000","emission_operation":"7.82482537","emission_service":"0.15493154","year":2023},{"bank_count":"2153.52207075","emission_all":"90.66406302","emission_discard":"66.94947924","emission_init":"12.14400000","emission_operation":"11.34593428","emission_service":"0.22464950","year":2024},{"bank_count":"2154.58606387","emission_all":"115.19234497","emission_discard":"88.13786276","emission_init":"12.15000000","emission_operation":"14.61510317","emission_service":"0.28937904","year":2025},{"bank_count":"2155.65005699","emission_all":"138.52316995","emission_discard":"108.37501114","emission_init":"12.15600000","emission_operation":"17.64283076","emission_service":"0.34932805","year":2026},{"bank_count":"2156.71405011","emission_all":"160.56750484","emission_discard":"127.55951374","emission_init":"12.16200000","emission_operation":"20.44125426","emission_service":"0.40473683","year":2027}]现在的数据是
[[年份 总排放 废弃排放量 初始排放量 运行排放 维修排放] [2022 38.77887139 22.52280019 12.13200000 0.08007120 4.04400000] [2023 65.10216445 44.98440754 12.13800000 0.15493154 7.82482537] [2024 90.66406302 66.94947924 12.14400000 0.22464950 11.34593428] [2025 115.19234497 33 12.15000000 0.28937904 14.61510317] [2026 138.52316995 221 12.15600000 0.34932805 17.64283076] [2027 160.56750484 111 12.16200000 0.40473683 20.44125426]]可以这样处理:
import "encoding/json"
// ...
var targetData []map[string]interface{}
for i, row := range req.ResultData {
// Skip the header row
if i == 0 {
continue
}
item := make(map[string]interface{})
item["bank_count"] = row[1]
item["emission_all"] = row[2]
item["emission_discard"] = row[3]
item["emission_init"] = row[4]
item["emission_operation"] = row[5]
item["emission_service"] = row[6]
year, _ := strconv.Atoi(row[0])
item["year"] = year
targetData = append(targetData, item)
}
jsonData, err := json.Marshal(targetData)
if err != nil {
// 处理错误
}
fmt.Println(string(jsonData))