安装
在终端下输入以下命令安装go-json库:
go get github.com/json-iterator/go
使用
以下示例演示了如何使用go-json库将一个JSON字符串解码为struct对象:
package main
import (
"fmt"
"github.com/json-iterator/go"
)
type Person struct {
Name string
Age int
Address Address
}
type Address struct {
City string
State string
}
func main() {
jsonString := `{"name":"John Doe","age":30,"address":{"city":"New York","state":"NY"}}`
var person Person
err := jsoniter.Unmarshal([]byte(jsonString), &person)
if err != nil {
fmt.Println("Error:", err)
}
fmt.Printf("%+v\n", person)
}
将输出以下内容:
{Name:John Doe Age:30 Address:{City:New York State:NY}}
我们还可以将一个struct对象编码成JSON字符串:
package main
import (
"fmt"
"github.com/json-iterator/go"
)
type Person struct {
Name string
Age int
Address Address
}
type Address struct {
City string
State string
}
func main() {
person := Person{
Name: "John Doe",
Age: 30,
Address: Address{
City: "New York",
State: "NY",
},
}
jsonString, err := jsoniter.Marshal(person)
if err != nil {
fmt.Println("Error:", err)
}
fmt.Println(string(jsonString))
}
将输出以下内容:
{"Name":"John Doe","Age":30,"Address":{"City":"New York","State":"NY"}}