欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

go http json

林國瑞2年前9瀏覽0評論

Go語言提供了非常方便的HTTP和JSON包,使得HTTP請求和JSON解析變得異常簡單。在本文中,我們將介紹如何在Go語言中使用HTTP和JSON。

package main
import (
	"encoding/json"
	"fmt"
	"net/http"
)
type User struct {
	Name string `json:"name"`
	Age  int    `json:"age"`
}
func main() {
	http.HandleFunc("/user", getUser)
	err := http.ListenAndServe(":8080", nil)
	if err != nil {
fmt.Println("Error:", err)
	}
}
func getUser(w http.ResponseWriter, r *http.Request) {
	user := User{
Name: "John",
Age:  30,
	}
	w.Header().Set("Content-Type", "application/json")
	json.NewEncoder(w).Encode(user)
}

以上代碼創(chuàng)建了一個(gè)HTTP服務(wù)器,并在"/user"路徑處定義了一個(gè)處理函數(shù)getUser。該函數(shù)返回一個(gè)JSON格式的用戶信息。

要在Go語言中解析JSON,我們可以使用encoding / json包。該包提供了Encode和Decode函數(shù),以及一個(gè)可以從[] byte中讀取JSON的Decoder類型。

package main
import (
	"encoding/json"
	"fmt"
)
type User struct {
	Name string `json:"name"`
	Age  int    `json:"age"`
}
func main() {
	userJSON := []byte(`{"name": "John", "age": 30}`)
	var user User
	err := json.Unmarshal(userJSON, &user)
	if err != nil {
fmt.Println("Error:", err)
	}
	fmt.Println(user.Name)
	fmt.Println(user.Age)
}

以上代碼解析了一個(gè)JSON字符串,將其轉(zhuǎn)換為一個(gè)User類型的變量,然后輸出該變量的Name和Age屬性。

總的來說,Go語言為我們提供了非常方便的HTTP和JSON包,使得HTTP請求和JSON解析變得異常簡單。