Go 中使用排序鍵進行JSON 編組
在Python 中,使用按排序順序產生鍵的JSON 非常簡單,只需將sort_keys 參數設定為真的。但是圍棋呢?這個問題探討了在 Golang 中實作類似行為的選項。
Go 的鍵排序方法
與 Python 不同,Go 的 JSON 套件本質上在編組期間對鍵進行排序。具體排序規則如下:
這個自動鍵排序意味著開發人員不需要像 Python 中那樣明確指定 sort_keys 參數。鍵的順序由 Go 的內部排序演算法決定。
底層
鍵排序的實作可以在encoding/json/encode.go 找到,特別是從第 359 行開始。在這裡,編碼器在序列化 JSON 之前迭代映射或結構的鍵並對它們進行排序。
範例
考慮以下Go 程式碼:
package main import "encoding/json" type MyStruct struct { Field1 string Field2 int } func main() { data := map[string]int{"apple": 1, "banana": 3, "cherry": 2} jsonData, _ := json.Marshal(data) fmt.Println(string(jsonData)) }
這段程式碼的輸出將be:
{ "apple": 1, "banana": 3, "cherry": 2 }這段程式碼的輸出將be:如你所見,鍵會自動按字典順序排序,無需任何額外配置。
以上是在 Go 中編組時如何實作排序的 JSON 鍵?的詳細內容。更多資訊請關注PHP中文網其他相關文章!