首页 > 后端开发 > Golang > 如何在 Go 中对 JSON 键进行排序:复制 Python 的'sort_keys”功能?

如何在 Go 中对 JSON 键进行排序:复制 Python 的'sort_keys”功能?

Barbara Streisand
发布: 2024-12-02 10:13:11
原创
860 人浏览过

How to Sort JSON Keys in Go: Replicating Python's `sort_keys` Functionality?

Go 中的排序 JSON 键:复制 Python 的行为

在 Python 中,使用 json.dumps() 函数中的 sort_keys 参数生成带有排序键的 JSON 非常简单。然而,Go 的标准库似乎没有提供等效的选项。我们如何在 Go 中实现类似的功能?

Go 的键排序行为

好消息是 Go encoding/json 包在内部处理键排序。它的工作原理如下:

  • 映射: 键按字典顺序(字母顺序)排序。
  • 结构: 键按顺序排列它们被定义在struct.

一个简单的解决方案

要在 Go 中生成带有排序键的 JSON,您可以利用内置的排序行为。

考虑以下内容JSON 对象:

{
  "name": "John Smith",
  "age": 30,
  "city": "New York"
}
登录后复制

您可以使用 Go 在 Go 中创建此对象map:

import (
    "encoding/json"
)

type Person struct {
    Name  string
    Age   int
    City  string
}

func main() {
    person := Person{
        Name:  "John Smith",
        Age:   30,
        City:  "New York",
    }

    jsonBytes, _ := json.Marshal(person)
    jsonStr := string(jsonBytes)

    // Output sorted JSON
    println(jsonStr)
}
登录后复制

在此示例中,地图键按字典顺序排序,结果为:

{
  "age": 30,
  "city": "New York",
  "name": "John Smith"
}
登录后复制

以上是如何在 Go 中对 JSON 键进行排序:复制 Python 的'sort_keys”功能?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板