在进行开发的时候,常常需要对json数据进行排序,以便直观的对json数据进行分析,那么使用Go语言如何对json数据排序(直接对第一层进行排序),直接上代码
package main import ( "encoding/json" "fmt" "sort" ) func main() { map2 := getMapFromJson() fmt.Println(" map的长度:", len(map2)) //1.定义一个slice s1 := make([]string, 0, len(map2)) map3 := make(map[string]string) //2.遍历map获取key-->s1中 for key := range map2 { s1 = append(s1, key) } //3.给s1进行排序 //sort.Ints(s1) //使用sort包下的方法直接排序,不用自己写冒泡了。 sort.Strings(s1) //4. 遍历s1,map for _, k := range s1 { // 先下标,再数值 map3[k] = map2[k] } b, berror := json.Marshal(map3) if berror != nil { fmt.Print("berror:", berror) } fmt.Println(string(b)) } func getMapFromJson() map[string]string { var jsonBody = []byte(`{"akehi":"绝地求生","snifeni":"王者农药","undinfi":"消消乐","yunin":"传奇霸业","zhondfi":"连连看"}`) var map4 = make(map[string]string) err := json.Unmarshal(jsonBody, &map4) if err != nil { println("unJsonerr:", err) } else { for k, v := range map4 { print("map4 k and Value :", k, v) } } return map4 }