mirror of
https://gitee.com/johng/gf
synced 2026-06-07 02:12:11 +08:00
Implemented gjson Example
1. ExampleLoad 2.ExampleLoadJson 3.ExampleLoadXml 4.ExampleLoadIni 5.ExampleLoadYaml 6.ExampleLoadToml 7.ExampleLoadContent 8.ExampleLoadContentType 9.ExampleIsValidDataType
This commit is contained in:
@ -13,11 +13,149 @@ import (
|
||||
"github.com/gogf/gf/v2/encoding/gjson"
|
||||
)
|
||||
|
||||
func Example_loadJson() {
|
||||
func ExampleLoad() {
|
||||
jsonFilePath := gdebug.TestDataPath("json", "data1.json")
|
||||
j, _ := gjson.Load(jsonFilePath)
|
||||
fmt.Println(j.Get("name"))
|
||||
fmt.Println(j.Get("score"))
|
||||
|
||||
// Output:
|
||||
// john
|
||||
// 100
|
||||
}
|
||||
|
||||
func ExampleLoadJson() {
|
||||
jsonContent := `{"name":"john", "score":"100"}`
|
||||
j, _ := gjson.LoadJson(jsonContent)
|
||||
fmt.Println(j.Get("name"))
|
||||
fmt.Println(j.Get("score"))
|
||||
|
||||
// Output:
|
||||
// john
|
||||
// 100
|
||||
}
|
||||
|
||||
func ExampleLoadXml() {
|
||||
xmlContent := `<?xml version="1.0" encoding="UTF-8"?>
|
||||
<base>
|
||||
<name>john</name>
|
||||
<score>100</score>
|
||||
</base>`
|
||||
j, _ := gjson.LoadXml(xmlContent)
|
||||
fmt.Println(j.Get("base.name"))
|
||||
fmt.Println(j.Get("base.score"))
|
||||
|
||||
// Output:
|
||||
// john
|
||||
// 100
|
||||
}
|
||||
|
||||
func ExampleLoadIni() {
|
||||
iniContent := `
|
||||
[base]
|
||||
name = john
|
||||
score = 100
|
||||
`
|
||||
j, _ := gjson.LoadIni(iniContent)
|
||||
fmt.Println(j.Get("base.name"))
|
||||
fmt.Println(j.Get("base.score"))
|
||||
|
||||
// Output:
|
||||
// john
|
||||
// 100
|
||||
}
|
||||
|
||||
func ExampleLoadYaml() {
|
||||
yamlContent :=
|
||||
`base:
|
||||
name: john
|
||||
score: 100`
|
||||
|
||||
j, _ := gjson.LoadYaml(yamlContent)
|
||||
fmt.Println(j.Get("base.name"))
|
||||
fmt.Println(j.Get("base.score"))
|
||||
|
||||
// Output:
|
||||
// john
|
||||
// 100
|
||||
}
|
||||
|
||||
func ExampleLoadToml() {
|
||||
tomlContent :=
|
||||
`[base]
|
||||
name = "john"
|
||||
score = 100`
|
||||
|
||||
j, _ := gjson.LoadToml(tomlContent)
|
||||
fmt.Println(j.Get("base.name"))
|
||||
fmt.Println(j.Get("base.score"))
|
||||
|
||||
// Output:
|
||||
// john
|
||||
// 100
|
||||
}
|
||||
|
||||
func ExampleLoadContent() {
|
||||
jsonContent := `{"name":"john", "score":"100"}`
|
||||
xmlContent := `<?xml version="1.0" encoding="UTF-8"?>
|
||||
<base>
|
||||
<name>john</name>
|
||||
<score>100</score>
|
||||
</base>`
|
||||
|
||||
j, _ := gjson.LoadContent(jsonContent)
|
||||
x, _ := gjson.LoadContent(xmlContent)
|
||||
|
||||
fmt.Println(j.Get("name"))
|
||||
fmt.Println(j.Get("score"))
|
||||
fmt.Println(x.Get("base.name"))
|
||||
fmt.Println(x.Get("base.score"))
|
||||
|
||||
// Output:
|
||||
// john
|
||||
// 100
|
||||
// john
|
||||
// 100
|
||||
}
|
||||
|
||||
func ExampleLoadContentType() {
|
||||
jsonContent := `{"name":"john", "score":"100"}`
|
||||
xmlContent := `<?xml version="1.0" encoding="UTF-8"?>
|
||||
<base>
|
||||
<name>john</name>
|
||||
<score>100</score>
|
||||
</base>`
|
||||
|
||||
j, _ := gjson.LoadContentType("json", jsonContent)
|
||||
x, _ := gjson.LoadContentType("xml", xmlContent)
|
||||
|
||||
fmt.Println(j.Get("name"))
|
||||
fmt.Println(j.Get("score"))
|
||||
fmt.Println(x.Get("base.name"))
|
||||
fmt.Println(x.Get("base.score"))
|
||||
|
||||
// Output:
|
||||
// john
|
||||
// 100
|
||||
// john
|
||||
// 100
|
||||
}
|
||||
|
||||
func ExampleIsValidDataType() {
|
||||
fmt.Println(gjson.IsValidDataType("json"))
|
||||
fmt.Println(gjson.IsValidDataType("yml"))
|
||||
fmt.Println(gjson.IsValidDataType("js"))
|
||||
fmt.Println(gjson.IsValidDataType("mp4"))
|
||||
fmt.Println(gjson.IsValidDataType("xsl"))
|
||||
fmt.Println(gjson.IsValidDataType("txt"))
|
||||
|
||||
// Output:
|
||||
// true
|
||||
// true
|
||||
// true
|
||||
// false
|
||||
// false
|
||||
// false
|
||||
}
|
||||
|
||||
func Example_loadXml() {
|
||||
@ -26,13 +164,3 @@ func Example_loadXml() {
|
||||
fmt.Println(j.Get("doc.name"))
|
||||
fmt.Println(j.Get("doc.score"))
|
||||
}
|
||||
|
||||
func Example_loadContent() {
|
||||
jsonContent := `{"name":"john", "score":"100"}`
|
||||
j, _ := gjson.LoadContent(jsonContent)
|
||||
fmt.Println(j.Get("name"))
|
||||
fmt.Println(j.Get("score"))
|
||||
// Output:
|
||||
// john
|
||||
// 100
|
||||
}
|
||||
|
||||
@ -12,67 +12,6 @@ import (
|
||||
"github.com/gogf/gf/v2/encoding/gjson"
|
||||
)
|
||||
|
||||
func Example_newFromJson() {
|
||||
jsonContent := `{"name":"john", "score":"100"}`
|
||||
j := gjson.New(jsonContent)
|
||||
fmt.Println(j.Get("name"))
|
||||
fmt.Println(j.Get("score"))
|
||||
// Output:
|
||||
// john
|
||||
// 100
|
||||
}
|
||||
|
||||
func Example_newFromXml() {
|
||||
jsonContent := `<?xml version="1.0" encoding="UTF-8"?><doc><name>john</name><score>100</score></doc>`
|
||||
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
|
||||
}
|
||||
|
||||
func Example_newFromStruct() {
|
||||
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
|
||||
}
|
||||
|
||||
func Example_newFromStructWithTag() {
|
||||
type Me struct {
|
||||
Name string `tag:"name"`
|
||||
Score int `tag:"score"`
|
||||
Title string
|
||||
}
|
||||
me := Me{
|
||||
Name: "john",
|
||||
Score: 100,
|
||||
Title: "engineer",
|
||||
}
|
||||
// The parameter `tags` 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
|
||||
}
|
||||
|
||||
func ExampleNew() {
|
||||
jsonContent := `{"name":"john", "score":"100"}`
|
||||
j := gjson.New(jsonContent)
|
||||
@ -130,3 +69,31 @@ func ExampleNewWithOptions() {
|
||||
// 100
|
||||
// engineer
|
||||
}
|
||||
|
||||
func Example_newFromXml() {
|
||||
jsonContent := `<?xml version="1.0" encoding="UTF-8"?><doc><name>john</name><score>100</score></doc>`
|
||||
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
|
||||
}
|
||||
|
||||
func Example_newFromStruct() {
|
||||
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
|
||||
}
|
||||
|
||||
3
encoding/gjson/testdata/toml/data1.toml
vendored
Normal file
3
encoding/gjson/testdata/toml/data1.toml
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
[base]
|
||||
name = "john"
|
||||
score = 100
|
||||
3
encoding/gjson/testdata/yaml/data1.yaml
vendored
Normal file
3
encoding/gjson/testdata/yaml/data1.yaml
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
base:
|
||||
name: john
|
||||
score: 100
|
||||
Reference in New Issue
Block a user