Heim > Backend-Entwicklung > Golang > Wie handhabe ich die Konvertierung von JSON-Strings in Float64 in Go?

Wie handhabe ich die Konvertierung von JSON-Strings in Float64 in Go?

Susan Sarandon
Freigeben: 2025-01-04 21:22:43
Original
858 Leute haben es durchsucht

How to Handle JSON String to Float64 Conversion in Go?

JSON mit Float64-Typkonvertierung dekodieren

In diesem Szenario haben Sie eine JSON-Zeichenfolge mit einer Float-Zahl, die in eine Golang-Struktur dekodiert werden muss. Der erste Decodierungsversuch schlägt fehl, da die eingehende String-Darstellung der Float-Nummer und der Typ float64 in der Struktur nicht übereinstimmen.

Um dieses Problem zu beheben, muss der JSON-Decoder angewiesen werden, den String-Wert als zu interpretieren ein float64. Dies kann durch Hinzufügen des String-Tags zum Feld „Preis“ in der Strukturdefinition erreicht werden:

type Product struct {
    Name  string
    Price float64 `json:",string"`
}
Nach dem Login kopieren

Mit dieser Änderung konvertiert der Decoder die String-Darstellung erfolgreich in einen Float64-Wert. Der aktualisierte Golang-Code:

package main

import (
    "encoding/json"
    "fmt"
)

type Product struct {
    Name  string
    Price float64 `json:",string"`
}

func main() {
    s := `{"name":"Galaxy Nexus", "price":"3460.00"}`
    var pro Product
    err := json.Unmarshal([]byte(s), &pro)
    if err == nil {
        fmt.Printf("%+v\n", pro)
    } else {
        fmt.Println(err)
        fmt.Printf("%+v\n", pro)
    }
}
Nach dem Login kopieren

Beim Ausführen dieses aktualisierten Codes wird nun das gewünschte Ergebnis ausgegeben:

{Name:Galaxy Nexus Price:3460}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie handhabe ich die Konvertierung von JSON-Strings in Float64 in Go?. 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