Heim > Backend-Entwicklung > Golang > So sortieren Sie JSON-Schlüssel in Go: Pythons „sort_keys'-Funktionalität replizieren?

So sortieren Sie JSON-Schlüssel in Go: Pythons „sort_keys'-Funktionalität replizieren?

Barbara Streisand
Freigeben: 2024-12-02 10:13:11
Original
807 Leute haben es durchsucht

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

Sortierte JSON-Schlüssel in Go: Pythons Verhalten replizieren

In Python ist die Generierung von JSON mit sortierten Schlüsseln mithilfe des Arguments sort_keys in der Funktion json.dumps() unkompliziert. Die Standardbibliothek von Go scheint jedoch keine gleichwertige Option zu bieten. Wie können wir eine ähnliche Funktionalität in Go erreichen?

Gos Schlüsselreihenfolgeverhalten

Die gute Nachricht ist, dass das Go-Paket „coding/json“ die Schlüsselreihenfolge intern übernimmt. So funktioniert es:

  • Maps: Schlüssel werden lexikografisch (alphabetisch) sortiert.
  • Strukturen: Schlüssel werden in der Reihenfolge geordnet Sie werden innerhalb der Struktur definiert.

Einfach Lösung

Um JSON mit sortierten Schlüsseln in Go zu erstellen, können Sie das integrierte Ordnungsverhalten nutzen.

Betrachten Sie das folgende JSON-Objekt:

{
  "name": "John Smith",
  "age": 30,
  "city": "New York"
}
Nach dem Login kopieren

Sie kann dieses Objekt in Go mithilfe einer Karte erstellen:

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)
}
Nach dem Login kopieren

In diesem Beispiel werden die Kartenschlüssel lexikografisch sortiert, was zu einem Ergebnis führt in:

{
  "age": 30,
  "city": "New York",
  "name": "John Smith"
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo sortieren Sie JSON-Schlüssel in Go: Pythons „sort_keys'-Funktionalität replizieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage