"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment analyser les tableaux JSON en Go en utilisant le package «JSON»?

Comment analyser les tableaux JSON en Go en utilisant le package «JSON»?

Publié le 2025-03-26
Parcourir:969

How to Parse JSON Arrays in Go Using the `json` Package?

analyser les tableaux json dans Go avec le package json

Problème: Comment pouvez-vous analyser une chaîne JSON représentant un Array dans Go en utilisant le package JSON?

Exemple:

Considérez le code de Go suivant:

Type JSAType struct { Array [] chaîne } func main () { datajson: = `[" 1 "," 2 "," 3 "]` Arr: = JsonType {} Unmarshaled: = json.unmarshal ([] octet (datajson), & arr.array) Log.printf ("Unmarshaled:% V", Unmarshaled) }
type JsonType struct {
    Array []string
}

func main() {
    dataJson := `["1", "2", "3"]`
    arr := JsonType{}
    unmarshaled := json.Unmarshal([]byte(dataJson), &arr.Array)
    log.Printf("Unmarshaled: %v", unmarshaled)
}

Explication:

Le code fourni définit un type JSetype avec un tableau de chaînes. Il tente ensuite de démarshal une chaîne JSON dans le champ de tableau d'une instance JSontype. Cependant, il y a un problème avec le code.

Solution:

La valeur de retour de Unmarshal est une erreur. Le code a initialement imprimé cette erreur au lieu du tableau sans relâche. Pour le corriger, vous pouvez modifier le code en:

err: = json.unmarshal ([] byte (datajson), & arr)
type JsonType struct {
    Array []string
}

func main() {
    dataJson := `["1", "2", "3"]`
    arr := JsonType{}
    unmarshaled := json.Unmarshal([]byte(dataJson), &arr.Array)
    log.Printf("Unmarshaled: %v", unmarshaled)
}
en outre, vous pouvez simplifier le code par directement unmarshaling dans la tranche de berbe _ = JSON.UNMARSHAL ([] BYTE (DATAJSON), & ARR)

Ce code attribue la tranche non marquée à Arr. Le soulignement avant l'affectation supprime la valeur d'erreur, qui n'est pas utilisée dans ce code.
type JsonType struct {
    Array []string
}

func main() {
    dataJson := `["1", "2", "3"]`
    arr := JsonType{}
    unmarshaled := json.Unmarshal([]byte(dataJson), &arr.Array)
    log.Printf("Unmarshaled: %v", unmarshaled)
}
En utilisant efficacement le package JSON, vous pouvez facilement analyser les tableaux JSON dans Go.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3