Maison > développement back-end > Golang > Comment trier les clés JSON dans Go : réplication de la fonctionnalité « sort_keys » de Python ?

Comment trier les clés JSON dans Go : réplication de la fonctionnalité « sort_keys » de Python ?

Barbara Streisand
Libérer: 2024-12-02 10:13:11
original
870 Les gens l'ont consulté

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

Clés JSON triées dans Go : réplication du comportement de Python

En Python, générer du JSON avec des clés triées est simple à l'aide de l'argument sort_keys dans la fonction json.dumps(). Cependant, la bibliothèque standard de Go ne semble pas proposer d'option équivalente. Comment pouvons-nous obtenir des fonctionnalités similaires dans Go ?

Comportement de commande des clés de Go

La bonne nouvelle est que le package Go encoding/json gère la commande des clés en interne. Voici comment cela fonctionne :

  • Maps : Les clés sont triées lexicographiquement (par ordre alphabétique).
  • Structs : Les clés sont classées dans l'ordre ils sont définis dans la structure.

Un simple Solution

Pour produire du JSON avec des clés triées dans Go, vous pouvez profiter du comportement de tri intégré.

Considérez l'objet JSON suivant :

{
  "name": "John Smith",
  "age": 30,
  "city": "New York"
}
Copier après la connexion

Vous peut créer cet objet dans Go à l'aide d'une carte :

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)
}
Copier après la connexion

Dans cet exemple, les clés de la carte sont triées lexicographiquement, ce qui donne dans :

{
  "age": 30,
  "city": "New York",
  "name": "John Smith"
}
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal