Maison > développement back-end > Golang > le corps du texte

Comment analyser les données JSON dans Golang ?

WBOY
Libérer: 2024-06-03 15:33:09
original
556 Les gens l'ont consulté

L'analyse des données JSON par Golang implique quatre étapes principales : Importez le package आवश्यक, qui comprend json, fmt et ioutil. Lisez les données JSON à partir d'un fichier. Décodez les données JSON dans une structure ou une carte. Accédez aux paires clé-valeur dans une carte ou utilisez une structure décodée.

如何在 Golang 中解析 JSON 数据?

Comment analyser les données JSON dans Golang

Golang fournit des outils puissants pour traiter les données JSON, qui peuvent être réalisés en suivant les étapes suivantes :

1. Importez les packages nécessaires

import (
    "encoding/json"
    "fmt"
    "io/ioutil"
)
Copier après la connexion

2. fichier

jsonFile, err := ioutil.ReadFile("data.json")
if err != nil {
    fmt.Println("Error reading JSON file:", err)
    return
}
Copier après la connexion

3. Décoder les données JSON en structure ou en carte

Décoder en structure :

type Person struct {
    Name string
    Age  int
}

var person Person
err = json.Unmarshal(jsonFile, &person)
if err != nil {
    fmt.Println("Error decoding JSON data:", err)
    return
}
Copier après la connexion

Décoder en carte :

var data map[string]interface{}
err = json.Unmarshal(jsonFile, &data)
if err != nil {
    fmt.Println("Error decoding JSON data:", err)
    return
}

// 访问 map中的键值对
fmt.Println("Name:", data["Name"])
Copier après la connexion

Cas pratique

Lire le fichier JSON et imprimer le nom et l'âge :

package main

import (
    "encoding/json"
    "fmt"
    "io/ioutil"
)

type Person struct {
    Name string
    Age  int
}

func main() {
    jsonFile, err := ioutil.ReadFile("data.json")
    if err != nil {
        fmt.Println("Error reading JSON file:", err)
        return
    }

    var person Person
    err = json.Unmarshal(jsonFile, &person)
    if err != nil {
        fmt.Println("Error decoding JSON data:", err)
        return
    }

    fmt.Printf("Name: %s, Age: %d\n", person.Name, person.Age)
}
Copier après la connexion

Enregistrez les données JSON suivantes dans le fichier :

{
  "Name": "John Doe",
  "Age": 30
}
Copier après la connexion

Ensuite, exécutez le programme, le résultat est le suivant :

Name: John Doe, Age: 30
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal