JSON-Antworten in Go analysieren: Verwenden Sie die Unmarshal-Funktion des Pakets „encoding/json“. Erstellen Sie eine Zielstruktur, die JSON-Daten darstellt. Lesen Sie den HTTP-Antworttext und analysieren Sie die JSON-Daten. Drucken Sie die analysierten Daten aus oder verwenden Sie sie.
So analysieren Sie JSON-Daten aus einer HTTP-Antwort in Golang
In Golang können Sie JSON-Daten aus einer HTTP-Antwort analysieren, indem Sie das Paket encoding/json
verwenden. Dieses Paket stellt eine Unmarshal
-Funktion bereit, die JSON-codierte Daten in eine Zielstruktur dekodiert. encoding/json
包解析 HTTP 响应中的 JSON 数据。该包提供了一个 Unmarshal
函数,它将 JSON 编码的数据解码到目标结构中。
代码示例:
package main import ( "encoding/json" "fmt" "net/http" "io/ioutil" ) func main() { // 创建一个 HTTP 客户端 client := &http.Client{} // 发送一个 GET 请求 resp, err := client.Get("https://example.com/api/data") if err != nil { fmt.Println(err) return } defer resp.Body.Close() // 读取响应体 body, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err) return } // 创建一个目标结构 type Data struct { Name string Age int } var data Data // 解析 JSON 数据 if err := json.Unmarshal(body, &data); err != nil { fmt.Println(err) return } // 打印解析后的数据 fmt.Println(data) }
实战案例:
这个示例从一个示例 API(https://example.com/api/data
)中检索 JSON 数据,并将其解析到一个 Data
结构中。然后,它会打印解析后的数据。
你可以通过使用自己喜欢的 IDE 或文本编辑器创建一个新文件(例如 main.go
Codebeispiel:
🎜go run main.go
https://example.com/api/data
) ab und wird analysiert in eine Daten
-Struktur umwandeln. Anschließend werden die analysierten Daten gedruckt. 🎜🎜Sie können dies tun, indem Sie mit Ihrer bevorzugten IDE oder Ihrem bevorzugten Texteditor eine neue Datei erstellen (z. B. main.go
) und den obigen Code einfügen. Anschließend können Sie den folgenden Befehl ausführen, um das Programm zu kompilieren und auszuführen: 🎜rrreee🎜Dadurch werden die analysierten JSON-Daten ausgegeben. 🎜Das obige ist der detaillierte Inhalt vonWie analysiere ich JSON-Daten aus einer HTTP-Antwort in Golang?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!