在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函数将其转换为结构体对象并打印出来。