在Golang中,可以使用標準庫中的encoding/json包來實現JSON編碼和解碼。下面是一個簡單的示例:
package main
import (
"encoding/json"
"fmt"
)
type Person struct {
Name string `json:"name"`
Age int `json:"age"`
Email string `json:"email"`
}
func main() {
// 編碼為JSON
p := Person{Name: "Alice", Age: 30, Email: "alice@example.com"}
jsonData, err := json.Marshal(p)
if err != nil {
fmt.Println("JSON編碼失敗:", err)
return
}
fmt.Println(string(jsonData))
// 解碼JSON
var p2 Person
err = json.Unmarshal(jsonData, &p2)
if err != nil {
fmt.Println("JSON解碼失敗:", err)
return
}
fmt.Println(p2)
}
以上代碼中,首先定義了一個Person結構體來表示一個人的信息,然后通過json.Marshal函數將一個Person實例編碼為JSON字符串,再通過json.Unmarshal函數將JSON字符串解碼為一個Person實例。最后輸出了編碼前后的Person實例。