创新互联GoFrame教程:GoFrame gjson-对象创建
gjson模块除了最基础支持的JSON数据格式创建Json对象,还支持常用的数据格式内容创建Json对象。支持的数据格式为:JSON, XML, INI, YAML, TOML。此外,也支持直接通过struct对象创建Json对象。

我们一直强调成都网站建设、成都网站设计对于企业的重要性,如果您也觉得重要,那么就需要我们慎重对待,选择一个安全靠谱的网站建设公司,企业网站我们建议是要么不做,要么就做好,让网站能真正成为企业发展过程中的有力推手。专业网站建设公司不一定是大公司,创新互联作为专业的网络公司选择我们就是放心。
对象创建常用New和Load*方法,更多的方法请查看接口文档:https://pkg.GO.dev/github.com/gogf/gf/v2/encoding/gjson
使用New方法创建
通过JSON数据创建
jsonContent := `{"name":"john", "score":"100"}`
j := gjson.New(jsonContent)
fmt.Println(j.Get("name"))
fmt.Println(j.Get("score"))
// Output:
// john
// 100通过XML数据创建
jsonContent := `john 100 `
j := gjson.New(jsonContent)
// Note that there's root node in the XML content.
fmt.Println(j.Get("doc.name"))
fmt.Println(j.Get("doc.score"))
// Output:
// john
// 100通过Strcut对象创建
type Me struct {
Name string `json:"name"`
Score int `json:"score"`
}
me := Me{
Name: "john",
Score: 100,
}
j := gjson.New(me)
fmt.Println(j.Get("name"))
fmt.Println(j.Get("score"))
// Output:
// john
// 100自定义Struct转换标签
type Me struct {
Name string `tag:"name"`
Score int `tag:"score"`
Title string
}
me := Me{
Name: "john",
Score: 100,
Title: "engineer",
}
// The parameter specifies custom priority tags for struct conversion to map,
// multiple tags joined with char ','.
j := gjson.NewWithTag(me, "tag")
fmt.Println(j.Get("name"))
fmt.Println(j.Get("score"))
fmt.Println(j.Get("Title"))
// Output:
// john
// 100
// engineer 使用Load*方法创建
最常用的是Load和LoadContent方法,前者通过文件路径读取,后者通过给定内容创建Json对象。方法内部会自动识别数据格式,并自动解析转换为Json对象。
通过Load方法创建
-
JSON文件
jsonFilePath := gdebug.TestDataPath("json", "data1.json")
j, _ := gjson.Load(jsonFilePath)
fmt.Println(j.Get("name"))
fmt.Println(j.Get("score"))-
XML文件
jsonFilePath := gdebug.TestDataPath("json", "data1.xml")
j, _ := gjson.Load(jsonFilePath)
fmt.Println(j.Get("doc.name"))
fmt.Println(j.Get("doc.score"))通过LoadContent创建
jsonContent := `{"name":"john", "score":"100"}`
j, _ := gjson.LoadContent(jsonContent)
fmt.Println(j.Get("name"))
fmt.Println(j.Get("score"))
// Output:
// john
// 100 网站题目:创新互联GoFrame教程:GoFrame gjson-对象创建
网站路径:http://jxruijie.cn/article/cdejgij.html
