Golang中JSON的编码与解码怎样实现
在Golang中,可使用encoding/json
包来实现JSON的编码和解码。以下是一个简单的示例:
package main
import (
"encoding/json"
"fmt"
)
type Person struct {
Name string `json:"name"`
Age int `json:"age"`
}
func main() {
// 编码为JSON
person := Person{
Name: "Alice",
Age: 25,
}
jsonData, err := json.Marshal(person)
if err != nil {
fmt.Println("JSON encoding error:", err)
return
}
fmt.Println(string(jsonData))
// 解码JSON
var decodedPerson Person
err = json.Unmarshal(jsonData, &decodedPerson)
if err != nil {
fmt.Println("JSON decoding error:", err)
return
}
fmt.Println(decodedPerson)
}
在上面的示例中,我们定义了一个Person
结构体,并使用json
标签指定了在JSON中对应的字段名。然后,我们使用json.Marshal
函数将Person
结构体编码为JSON字符串,并使用json.Unmarshal
函数将JSON字符串解码为Person
结构体。
上述示例的输出结果为:
{"name":"Alice","age":25}
{Name:Alice Age:25}
这样,我们就成功地完成了JSON的编码和解码。
TOP