Go语言的JSON包与数据解析
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: "Alice",
Age: 30,
}
// 将Person实例编码为JSON
jsonData, err := json.Marshal(person)
if err != nil {
log.Fatalf("JSON marshaling failed: %s", err)
}
fmt.Printf("JSON Data: %s\n", jsonData)
// 解码JSON数据到Person结构体实例
var decodedPerson Person
if err := json.Unmarshal(jsonData, &decodedPerson); err != nil {
log.Fatalf("JSON unmarshaling failed: %s", err)
}
fmt.Printf("Decoded Person: %+v\n", decodedPerson)
}
这段代码首先定义了一个Person
结构体,用来映射JSON数据中的name
和age
字段。然后创建了一个Person
实例,并使用json.Marshal
函数将其编码为JSON。接着,它使用json.Unmarshal
函数将JSON数据解码回Person
结构体实例。这个过程展示了如何在Go语言中处理JSON数据的基本方法。
评论已关闭