淘先锋技术网

首页 1 2 3 4 5 6 7

在golang中,我们可以使用内置包中的"encoding/json"来方便地将字符串转换成json格式。

import (
"encoding/json"
"fmt"
)
type Person struct {
Name string `json:"name"`
Age  int    `json:"age"`
}
func main() {
p := Person{Name: "Peter", Age: 20}
b, err := json.Marshal(p)
if err != nil {
fmt.Println(err)
}
fmt.Println(string(b))
}

以上代码将创建一个名为Person的struct,然后使用json.Marshal函数将其转换为json格式的byte数组,最后使用string函数将其转换为字符串并打印出来。

而如果我们需要将json字符串转换成结构体或者map对象,则可以使用json.Unmarshal函数。

import (
"encoding/json"
"fmt"
)
type Person struct {
Name string `json:"name"`
Age  int    `json:"age"`
}
func main() {
jsonString := `{
"name": "Peter",
"age": 20
}`
p := Person{}
err := json.Unmarshal([]byte(jsonString), &p)
if err != nil {
fmt.Println(err)
}
fmt.Println(p.Name, p.Age)
}

以上代码将创建一个json格式的字符串,然后使用json.Unmarshal函数将其转换为结构体对象并打印出来。