Maison >développement back-end >Golang >Comment analyser des tableaux JSON dans Go à l'aide du package « json » ?

Comment analyser des tableaux JSON dans Go à l'aide du package « json » ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-10 14:03:10640parcourir

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

Analyse des tableaux JSON dans Go avec le package JSON

Problème : Comment analyser une chaîne JSON représentant un tableau dans Go en utilisant le package json ?

Code Exemple :

Considérons le code Go suivant :

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 JsonType avec un tableau de cordes. Il tente ensuite de désorganiser 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 d'Unmarshal est une erreur. Le code imprimait initialement cette erreur au lieu du tableau non marshalé. Pour résoudre ce problème, vous pouvez modifier le code en :

err := json.Unmarshal([]byte(dataJson), &arr)

De plus, vous pouvez simplifier le code en le désassemblant directement dans la tranche de tableau sans utiliser de type personnalisé :

var arr []string
_ = json.Unmarshal([]byte(dataJson), &arr)

Ceci le code attribue la tranche non marshalée à l'arr. Le trait de soulignement avant l'affectation supprime la valeur d'erreur, qui n'est pas utilisée dans ce code.

En utilisant efficacement le package json, vous pouvez facilement analyser les tableaux JSON dans Go.

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:
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