在golang中,将string类型转换成json对象可以使用标准库中的json包。
首先,我们可以使用json.Marshal()函数将golang中的对象转换成json格式的字符串。例如:
type Person struct {
Name string `json:"name"`
Age int `json:"age"`
}
p := Person{Name: "Tom", Age: 29}
jsonStr, err := json.Marshal(p)
if err != nil {
fmt.Println("json.Marshal failed:", err)
}
fmt.Println(string(jsonStr))以上代码将会输出以下结果:
立即学习“go语言免费学习笔记(深入)”;
Easily find JSON paths within JSON objects using our intuitive Json Path Finder
30
{"name":"Tom","age":29}接下来,我们可以使用json.Unmarshal()函数将json字符串转换成golang中的对象。例如:
jsonStr := `{"name":"Tom","age":29}`
var p Person
err := json.Unmarshal([]byte(jsonStr), &p)
if err != nil {
fmt.Println("json.Unmarshal failed:", err)
}
fmt.Println(p.Name, p.Age)以上代码将会输出以下结果:
立即学习“go语言免费学习笔记(深入)”;
Tom 29
需要注意的是,在进行json解析时,使用的是[]byte类型的参数,因此需要通过强制类型转换将string类型转换成[]byte类型。
此外,也可以直接使用json.NewDecoder()函数将json格式的字符串解析成json对象,例如:
jsonStr := `{"name":"Tom","age":29}`
var data interface{}
decoder := json.NewDecoder(strings.NewReader(jsonStr))
err := decoder.Decode(&data)
if err != nil {
fmt.Println("json.Unmarshal failed:", err)
}
fmt.Println(data)以上代码将会输出以下结果:
立即学习“go语言免费学习笔记(深入)”;
map[name:Tom age:29]
这样,我们就可以使用golang中的标准库json包将string类型转换成json对象了。
以上就是golang string 转json的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号