从零开始:Golang中JSON解析与生成的完全指南
package main
import (
"encoding/json"
"fmt"
"log"
)
// 定义一个结构体来表示一个用户
type User struct {
ID int
Name string
Age int
}
func main() {
// 解析JSON
jsonStr := `{"ID":1,"Name":"张三","Age":30}`
var user User
err := json.Unmarshal([]byte(jsonStr), &user)
if err != nil {
log.Fatalf("JSON解析失败: %v", err)
}
fmt.Printf("解析后的用户: %+v\n", user)
// 生成JSON
user.ID = 2
user.Name = "李四"
user.Age = 25
jsonBytes, err := json.Marshal(user)
if err != nil {
log.Fatalf("JSON生成失败: %v", err)
}
fmt.Printf("生成的JSON字符串: %s\n", jsonBytes)
}
这段代码首先定义了一个User结构体,用于表示用户信息。然后,它使用json.Unmarshal
函数解析一个包含用户信息的JSON字符串,并打印解析后的结果。接着,它使用json.Marshal
函数将User结构体的实例转换为JSON字符串并打印。这个过程展示了如何在Go语言中进行JSON的解析和生成。
评论已关闭