1. 首页
  2. 主题
  3. Go问与答

求指点,类型转换。

go123 · · 1176 次点击
//需求:按照RequestBody key顺序排序. 格式化输出:[{content=测试模板文本内容,exType=txt,sort=1,type=text}], key和value用=号连接,值保持不变。用strings.Replace的做法是不严谨的。 package main import ( "fmt" ) type RequestBody struct { Content string `json:"content"` ExType string `json:"exType"` Sort int `json:"sort"` Type string `json:"type"` ContentType string `json:"contentType,omitempty"` } sourceData :=`[{"content":"测试模板文本内容","exType":"txt","sort":1,"type":"text"}]` func Convert(sourceData string ) string { var mapData []map[string]interface{} var allRequestBody string var keyList []string jsonRequestData,_ := json.Marshal(sourceData) if er := json.Unmarshal(jsonRequestData, &mapData); er != nil { fmt.Println("json.Unmarshal failed",er) return allRequestBody } for _, v := range mapData { var tmpData map[string]interface{} jsonbodyData,_ := json.Marshal(v) if er := json.Unmarshal(jsonbodyData, &tmpData); er != nil { fmt.Println("json.Unmarshal jsonBodyData failed" er) return allRequestBody } for data := range tmpData { keyList = append(keyList, data) } sort.Strings(keyList) for _,v := range keyList { resultList = append(resultList, fmt.Sprintf("%s=%s",v,fmt.Sprint(tmpData[v]))) } sort.Strings(resultList) //这里转不了map[string]interface{} return strings.Join(resultList, ",") } return "" }
实现一下 string 方法即可
#2
更多评论
[{content=测试模板文本内容,exType=txt,sort=1,type=text}] 这个里面的数据类型不知道怎么表示,interface{} ?
#1
实现 RequestBody 的 string/error 方法
#3

用户登录

没有账号?注册

今日阅读排行

    加载中

一周阅读排行

    加载中