首頁 > 後端開發 > Golang > 如何在 Go 中對 JSON 鍵進行排序:複製 Python 的「sort_keys」功能?

如何在 Go 中對 JSON 鍵進行排序:複製 Python 的「sort_keys」功能?

Barbara Streisand
發布: 2024-12-02 10:13:11
原創
849 人瀏覽過

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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板