在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实例。