美文网首页
使用Go对json进行排序

使用Go对json进行排序

作者: 小歪子go | 来源:发表于2018-12-01 22:44 被阅读0次

    在进行开发的时候,常常需要对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
    }
    

    相关文章

      网友评论

          本文标题:使用Go对json进行排序

          本文链接:https://www.haomeiwen.com/subject/dcldcqtx.html