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

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

Patricia Arquette
Libérer: 2024-11-30 22:59:12
original
1035 Les gens l'ont consulté

How to Parse JSON Arrays in Go using the `encoding/json` Package?

Analyse des tableaux JSON dans Go à l'aide du package JSON

Question

Comment puis-je analyser une chaîne qui représente un tableau JSON dans Go à l'aide de l'encodage /json ?

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)
}
Copier après la connexion

Réponse

Le le code fourni renvoie la valeur d'erreur d'Unmarshal. Pour analyser correctement le tableau JSON, utilisez le code suivant :

err := json.Unmarshal([]byte(dataJson), &arr)
Copier après la connexion

De plus, vous pouvez simplifier le code en utilisant une tranche au lieu d'une structure personnalisée :

package main

import (
    "encoding/json"
    "fmt"
)

func main() {
    dataJson := `["1","2","3"]`
    var arr []string
    err := json.Unmarshal([]byte(dataJson), &arr)
    fmt.Println(err)
    fmt.Println(arr)
}
Copier après la connexion

Ce code sera sortie :

<nil>
[1 2 3]
Copier après la connexion

Contexte

Passer un pointeur vers Unmarshal permet à la fonction de réduire ou éliminer les allocations de mémoire. De plus, dans un contexte de traitement, l'appelant peut réutiliser la même valeur à plusieurs reprises, économisant ainsi davantage d'allocations.

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal