Effizientes JSON-Einzelwert-Parsing in Go
In Python ist der Zugriff auf einen bestimmten Wert aus einem JSON-Objekt unkompliziert, wie im bereitgestellten Dokument dargestellt Beispiel:
res = res.json() return res['results'][0]
Go erfordert jedoch einen ausführlicheren Ansatz für die Deklaration einer Struktur und das Unmarshaling JSON darin:
type Quotes struct { AskPrice string `json:"ask_price"` } quote := new(Quotes) errJson := json.Unmarshal(content, "e) if errJson != nil { return "nil", fmt.Errorf("cannot read json body: %v", errJson) }
Für eine größere Einfachheit in Go sollten Sie erwägen, das JSON in eine Map[string]interface{} zu dekodieren und über seinen Schlüssel auf den gewünschten Wert zuzugreifen:
func main() { b := []byte(`{"ask_price":"1.0"}`) data := make(map[string]interface{}) err := json.Unmarshal(b, &data) if err != nil { panic(err) } if price, ok := data["ask_price"].(string); ok { fmt.Println(price) } else { panic("wrong type") } }
Während Karten Flexibilität bieten, sind Strukturen aufgrund ihrer expliziten Typdeklarationen nach wie vor vorzuziehen. Sie vereinfachen den Code, indem sie Typzusicherungen überflüssig machen.
Das obige ist der detaillierte Inhalt vonWie kann ich einzelne JSON-Werte in Go effizient analysieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!