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
Patricia Arquetteoriginal
2024-11-30 22:59:12943parcourir

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)
}

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)

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)
}

Ce code sera sortie :

<nil>
[1 2 3]

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