Maison >développement back-end >Golang >Comment puis-je obtenir des clés JSON triées lors du tri dans Go ?
JSON Marshalling in Go avec des clés triées
En Python, produire du JSON avec des clés dans un ordre trié est aussi simple que de définir le paramètre sort_keys sur Vrai. Mais qu'en est-il de Go ? Cette question explore les options permettant d'obtenir un comportement similaire dans Golang.
Approche de commande des clés de Go
Contrairement à Python, le package JSON de Go ordonne de manière inhérente les clés lors du marshalling. Les règles de classement spécifiques sont les suivantes :
Cet ordre automatique des clés signifie que les développeurs n'ont pas besoin de spécifier explicitement un paramètre sort_keys comme en Python. L'ordre des clés est déterminé par les algorithmes de tri internes de Go.
Sous le capot
L'implémentation de l'ordre des clés peut être trouvée dans encoding/json/encode.go , plus précisément à partir de la ligne 359. Ici, l'encodeur parcourt les clés de la carte ou de la structure et les trie avant de sérialiser le JSON.
Exemple
Considérez le code Go suivant :
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)) }
La sortie de ce code sera :
{ "apple": 1, "banana": 3, "cherry": 2 }
Comme vous pouvez voyez, les clés sont automatiquement triées lexicographiquement, sans aucune configuration supplémentaire.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!