PHP转Go实践:xjson解析神器「开源工具集」
package main
import (
"encoding/json"
"fmt"
"log"
)
// 定义一个结构体来映射JSON数据
type Person struct {
Name string `json:"name"`
Age int `json:"age"`
}
func main() {
// 创建一个Person实例
person := Person{
Name: "John Doe",
Age: 30,
}
// 序列化为JSON
jsonBytes, err := json.Marshal(person)
if err != nil {
log.Fatalf("JSON marshaling failed: %s", err)
}
jsonStr := string(jsonBytes)
// 打印序列化后的JSON字符串
fmt.Printf("JSON representation: %s\n", jsonStr)
// 反序列化JSON到结构体
var p Person
if err := json.Unmarshal(jsonBytes, &p); err != nil {
log.Fatalf("JSON unmarshaling failed: %s", err)
}
// 打印反序列化后的结构体内容
fmt.Printf("Back to Go: name: %s, age: %d\n", p.Name, p.Age)
}
这段代码展示了如何在Go中使用encoding/json
包来处理JSON数据。首先定义了一个结构体Person
来映射JSON数据,然后创建了一个Person
实例,将其序列化为JSON字符串,并打印出来。接着,代码演示了如何将JSON字符串反序列化回Person
结构体实例,并打印出结构体内容。这个过程展示了Go语言中处理JSON的基本方法。
评论已关闭