使用Go对json进行排序

在进行开发的时候,常常需要对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
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,054评论 3 119
  • 郑海燕焦点初级十期坚持分享168天2018.11.26 重新建构是用另一个新的正向语言与观点来重新看待与诠释同一个...
    晴岚85阅读 1,103评论 0 0
  • 目标,就是个人、部门或整个组织所期望的成果。作为一个国家,有三年目标、五年目标和十年目标,一个企业同样也有,那么,...
    BJ飞龙在天阅读 3,582评论 0 0
  • 是的,她离职一个月了,9月9日到现在,不差毫分的准确。 这期间,没几个人知道,连爸妈都是瞒着的状态,一个人在租了一...
    耿耿話阅读 3,038评论 0 2
  • 有个被改编的故事:讲一对夫妻,相濡以沫20多年,感情非常好,小两口连“小吵怡情”都很少。 有一天在吃饭时,老爷子可...
    因儿阅读 4,099评论 0 2

友情链接更多精彩内容