diff --git a/ai.go b/ai.go index ce0c263..fdac182 100644 --- a/ai.go +++ b/ai.go @@ -4,7 +4,7 @@ import ( "context" "encoding/json" "gitea.cdlsxd.cn/self-tools/l_ai_excel_header_match/doubao" - + "github.com/iancoleman/orderedmap" "strings" ) @@ -31,15 +31,15 @@ func ExcelMatch(ctx context.Context, selfExcelHeader, matchToExcelHeader []strin } func OrderMapWithSlice(data map[string]interface{}, desiredOrder []string) ([]byte, error) { + m := orderedmap.New() - var orderedKVs []map[string]interface{} for _, key := range desiredOrder { if value, exists := data[key]; exists { - orderedKVs = append(orderedKVs, map[string]interface{}{key: value}) + m.Set(key, value) } } // 编码为 JSON - return json.MarshalIndent(orderedKVs, "", " ") + return json.MarshalIndent(m, "", " ") } diff --git a/go.mod b/go.mod index b250a3d..b3a49f5 100644 --- a/go.mod +++ b/go.mod @@ -2,10 +2,8 @@ module gitea.cdlsxd.cn/self-tools/l_ai_excel_header_match go 1.22.2 - - require ( - + github.com/iancoleman/orderedmap v0.3.0 github.com/volcengine/volcengine-go-sdk v1.1.23 )