Maison >développement back-end >Golang >Comment charger des données JSON à partir d'une URL dans Golang ?

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

WBOY
WBOYoriginal
2024-06-02 11:52:57654parcourir

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"
    )
  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)
    }
  3. defer resp.Body.Close() 延迟函数中关闭响应体:

    defer resp.Body.Close()
  4. 使用 ioutil.ReadAll

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

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

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

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!

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