package main
import (
"encoding/json"
"fmt"
)
type Outer struct {
Inner struct {
Value string `json:"value"`
} `json:"inner"`
}
func main() {
// 初始化结构体实例
outer := Outer{
Inner: struct {
Value string `json:"value"`
}{
Value: "test value",
},
}
// 序列化为JSON字符串
data, err := json.Marshal(outer)
if err != nil {
fmt.Println("序列化错误:", err)
return
}
jsonStr := string(data)
fmt.Println("序列化后的JSON字符串:", jsonStr)
// 反序列化为Go结构体实例
var newOuter Outer
err = json.Unmarshal([]byte(jsonStr), &newOuter)
if err != nil {
fmt.Println("反序列化错误:", err)
return
}
fmt.Println("反序列化后的结构体实例:", newOuter)
}