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

Comment charger des données JSON à partir d'une URL dans Golang ?

WBOY
Libérer: 2024-06-02 11:52:57
original
644 Les gens l'ont consulté

Dans Golang, vous pouvez charger des données JSON à partir d'une URL en suivant ces étapes : Importez les packages nécessaires. Utilisez http.Get pour obtenir la réponse. Fermez le corps de la réponse. Lire et convertir en tranches d'octets. Décodez les tranches d'octets en structures de données JSON.

如何在 Golang 中从 URL 加载 JSON 数据?

Comment charger des données JSON à partir d'une URL dans Golang

Le chargement de données JSON dans Golang est très simple Ci-dessous, nous présentons comment charger des données JSON à partir d'une URL et fournissons un cas pratique.

Étapes :

  1. Importez les packages nécessaires :

    import (
     "encoding/json"
     "fmt"
     "io/ioutil"
     "log"
     "net/http"
    )
    Copier après la connexion
  2. Utilisez la fonction http.Get pour obtenir la réponse des données : http.Get 函数获取数据的响应:

    resp, err := http.Get("https://example.com/data.json")
    if err != nil {
     log.Fatal(err)
    }
    Copier après la connexion
  3. defer resp.Body.Close() 延迟函数中关闭响应体:

    defer resp.Body.Close()
    Copier après la connexion
  4. 使用 ioutil.ReadAll

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
     log.Fatal(err)
    }
    Copier après la connexion

  5. Dans différer resp .Body .Close() Fermez le corps de la réponse dans la fonction retardée :

    var data map[string]interface{}
    if err := json.Unmarshal(body, &data); err != nil {
     log.Fatal(err)
    }
    Copier après la connexion

Utilisez ioutil.ReadAll pour lire le corps de la réponse et le convertir en tranche d'octets :

package main

import (
    "encoding/json"
    "fmt"
    "io/ioutil"
    "log"
    "net/http"
)

func main() {
    resp, err := http.Get("https://jsonplaceholder.typicode.com/users")
    if err != nil {
        log.Fatal(err)
    }
    defer resp.Body.Close()

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        log.Fatal(err)
    }

    var users []map[string]interface{}
    if err := json.Unmarshal(body, &users); err != nil {
        log.Fatal(err)
    }

    for _, user := range users {
        fmt.Printf("Name: %s, Email: %s\n", user["name"], user["email"])
    }
}
Copier après la connexion
la tranche d'octets est décodée dans la structure de données JSON :

rrreee

🎜Cas pratique : 🎜🎜🎜Ce qui suit est un cas pratique de chargement de données d'employés à partir de l'API JSONPlaceholder : 🎜rrreee🎜Ce cas montre comment charger l'utilisateur lister, parcourir et imprimer chaque nom et adresse e-mail de l'utilisateur. 🎜

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