>백엔드 개발 >Golang >Golang의 URL에서 JSON 데이터를 로드하는 방법은 무엇입니까?

Golang의 URL에서 JSON 데이터를 로드하는 방법은 무엇입니까?

WBOY
WBOY원래의
2024-06-02 11:52:57653검색

Golang에서는 다음 단계에 따라 URL에서 JSON 데이터를 로드할 수 있습니다. 필요한 패키지를 가져옵니다. 응답을 얻으려면 http.Get을 사용하십시오. 응답 본문을 닫습니다. 바이트 슬라이스를 읽고 변환합니다. 바이트 슬라이스를 JSON 데이터 구조로 디코딩합니다.

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

Golang의 URL에서 JSON 데이터를 로드하는 방법

Golang에서 JSON 데이터를 로드하는 방법은 매우 간단합니다. 아래에서는 URL에서 JSON 데이터를 로드하는 방법을 소개하고 실제 사례를 제공합니다.

단계:

  1. 필요한 패키지 가져오기:

    import (
     "encoding/json"
     "fmt"
     "io/ioutil"
     "log"
     "net/http"
    )
  2. http.Get 기능을 사용하여 데이터 응답 가져오기: 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. defer resp .Body .Close() 지연된 함수에서 응답 본문을 닫습니다.

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

ioutil.ReadAll을 사용하여 응답 본문을 읽고 바이트 조각으로 변환합니다.

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

바이트 슬라이스가 JSON 데이터 구조로 디코딩됩니다.

rrreee

🎜실용 사례: 🎜🎜🎜다음은 JSONPlaceholder API에서 직원 데이터를 로드하는 실제 사례입니다. 🎜rrreee🎜이 사례에서는 사용자를 로드하는 방법을 보여줍니다. 사용자의 이름과 이메일 주소를 각각 나열하고 반복하고 인쇄합니다. 🎜

위 내용은 Golang의 URL에서 JSON 데이터를 로드하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.