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 ?

Jun 02, 2024 am 11:52 AM
json golang

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!

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

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment configurer le pool de connexions pour la connexion à la base de données Golang ? Comment configurer le pool de connexions pour la connexion à la base de données Golang ? Jun 06, 2024 am 11:21 AM

Comment configurer le pool de connexions pour la connexion à la base de données Golang ?

Comment lire et écrire des fichiers en toute sécurité avec Golang ? Comment lire et écrire des fichiers en toute sécurité avec Golang ? Jun 06, 2024 pm 05:14 PM

Comment lire et écrire des fichiers en toute sécurité avec Golang ?

Similitudes et différences entre Golang et C++ Similitudes et différences entre Golang et C++ Jun 05, 2024 pm 06:12 PM

Similitudes et différences entre Golang et C++

Quelle est la courbe d'apprentissage de l'architecture du framework Golang ? Quelle est la courbe d'apprentissage de l'architecture du framework Golang ? Jun 05, 2024 pm 06:59 PM

Quelle est la courbe d'apprentissage de l'architecture du framework Golang ?

Comment générer des éléments aléatoires à partir d'une liste dans Golang ? Comment générer des éléments aléatoires à partir d'une liste dans Golang ? Jun 05, 2024 pm 04:28 PM

Comment générer des éléments aléatoires à partir d'une liste dans Golang ?

Comparaison des avantages et des inconvénients du framework Golang Comparaison des avantages et des inconvénients du framework Golang Jun 05, 2024 pm 09:32 PM

Comparaison des avantages et des inconvénients du framework Golang

Quelles sont les meilleures pratiques pour la gestion des erreurs dans le framework Golang ? Quelles sont les meilleures pratiques pour la gestion des erreurs dans le framework Golang ? Jun 05, 2024 pm 10:39 PM

Quelles sont les meilleures pratiques pour la gestion des erreurs dans le framework Golang ?

instructions d'utilisation du document cadre Golang instructions d'utilisation du document cadre Golang Jun 05, 2024 pm 06:04 PM

instructions d'utilisation du document cadre Golang

See all articles