diff --git a/encoding/gjson/gjson_z_example_load_test.go b/encoding/gjson/gjson_z_example_load_test.go
index 31f7360c1..efe92e712 100644
--- a/encoding/gjson/gjson_z_example_load_test.go
+++ b/encoding/gjson/gjson_z_example_load_test.go
@@ -15,7 +15,7 @@ import (
func ExampleLoad() {
jsonFilePath := gdebug.TestDataPath("json", "data1.json")
- j, _ := gjson.Load(jsonFilePath, true)
+ j, _ := gjson.Load(jsonFilePath)
fmt.Println(j.Get("name"))
fmt.Println(j.Get("score"))
@@ -30,7 +30,7 @@ func ExampleLoad() {
func ExampleLoadJson() {
jsonContent := `{"name":"john", "score":"100"}`
- j, _ := gjson.LoadJson(jsonContent, true)
+ j, _ := gjson.LoadJson(jsonContent)
fmt.Println(j.Get("name"))
fmt.Println(j.Get("score"))
@@ -45,7 +45,7 @@ func ExampleLoadXml() {
john
100
`
- j, _ := gjson.LoadXml(xmlContent, true)
+ j, _ := gjson.LoadXml(xmlContent)
fmt.Println(j.Get("base.name"))
fmt.Println(j.Get("base.score"))
@@ -60,7 +60,7 @@ func ExampleLoadIni() {
name = john
score = 100
`
- j, _ := gjson.LoadIni(iniContent, true)
+ j, _ := gjson.LoadIni(iniContent)
fmt.Println(j.Get("base.name"))
fmt.Println(j.Get("base.score"))
@@ -75,7 +75,7 @@ func ExampleLoadYaml() {
name: john
score: 100`
- j, _ := gjson.LoadYaml(yamlContent, true)
+ j, _ := gjson.LoadYaml(yamlContent)
fmt.Println(j.Get("base.name"))
fmt.Println(j.Get("base.score"))
@@ -90,7 +90,7 @@ func ExampleLoadToml() {
name = "john"
score = 100`
- j, _ := gjson.LoadToml(tomlContent, true)
+ j, _ := gjson.LoadToml(tomlContent)
fmt.Println(j.Get("base.name"))
fmt.Println(j.Get("base.score"))
@@ -156,7 +156,7 @@ func ExampleLoadContentType() {
100
`
- j, _ := gjson.LoadContentType("json", jsonContent, true)
+ j, _ := gjson.LoadContentType("json", jsonContent)
x, _ := gjson.LoadContentType("xml", xmlContent)
j1, _ := gjson.LoadContentType("json", "")
diff --git a/encoding/gjson/gjson_z_unit_feature_load_test.go b/encoding/gjson/gjson_z_unit_feature_load_test.go
index d517e8de9..c4ae26bff 100644
--- a/encoding/gjson/gjson_z_unit_feature_load_test.go
+++ b/encoding/gjson/gjson_z_unit_feature_load_test.go
@@ -28,11 +28,17 @@ func Test_Load_JSON1(t *testing.T) {
t.Assert(j.Get("a.1").Int(), 2)
})
// JSON
+ gtest.C(t, func(t *gtest.T) {
+ errData := []byte(`{"n":123456789, "m":{"k":"v"}, "a":[1,2,3]`)
+ _, err := gjson.LoadContentType("json", errData, true)
+ t.AssertNE(err, nil)
+ })
+ // JSON
gtest.C(t, func(t *gtest.T) {
path := "test.json"
gfile.PutBytes(path, data)
defer gfile.Remove(path)
- j, err := gjson.Load(path)
+ j, err := gjson.Load(path, true)
t.Assert(err, nil)
t.Assert(j.Get("n").String(), "123456789")
t.Assert(j.Get("m").Map(), g.Map{"k": "v"})
@@ -68,6 +74,22 @@ func Test_Load_XML(t *testing.T) {
t.Assert(j.Get("doc.a.1").Int(), 2)
})
// XML
+ gtest.C(t, func(t *gtest.T) {
+ j, err := gjson.LoadXml(data, true)
+ t.Assert(err, nil)
+ t.Assert(j.Get("doc.n").String(), "123456789")
+ t.Assert(j.Get("doc.m").Map(), g.Map{"k": "v"})
+ t.Assert(j.Get("doc.m.k").String(), "v")
+ t.Assert(j.Get("doc.a").Slice(), g.Slice{"1", "2", "3"})
+ t.Assert(j.Get("doc.a.1").Int(), 2)
+ })
+ // XML
+ gtest.C(t, func(t *gtest.T) {
+ errData := []byte(`123v123456789`)
+ _, err := gjson.LoadContentType("xml", errData, true)
+ t.AssertNE(err, nil)
+ })
+ // XML
gtest.C(t, func(t *gtest.T) {
path := "test.xml"
gfile.PutBytes(path, data)
@@ -121,6 +143,16 @@ m:
t.Assert(j.Get("a.1").Int(), 2)
})
// YAML
+ gtest.C(t, func(t *gtest.T) {
+ j, err := gjson.LoadYaml(data, true)
+ t.Assert(err, nil)
+ t.Assert(j.Get("n").String(), "123456789")
+ t.Assert(j.Get("m").Map(), g.Map{"k": "v"})
+ t.Assert(j.Get("m.k").String(), "v")
+ t.Assert(j.Get("a").Slice(), g.Slice{1, 2, 3})
+ t.Assert(j.Get("a.1").Int(), 2)
+ })
+ // YAML
gtest.C(t, func(t *gtest.T) {
path := "test.yaml"
gfile.PutBytes(path, data)
@@ -142,6 +174,11 @@ func Test_Load_YAML2(t *testing.T) {
t.Assert(err, nil)
t.Assert(j.Get("i"), "123456789")
})
+ gtest.C(t, func(t *gtest.T) {
+ errData := []byte("i # 123456789")
+ _, err := gjson.LoadContentType("yaml", errData, true)
+ t.AssertNE(err, nil)
+ })
}
func Test_Load_TOML1(t *testing.T) {
@@ -163,6 +200,16 @@ n = 123456789
t.Assert(j.Get("a.1").Int(), 2)
})
// TOML
+ gtest.C(t, func(t *gtest.T) {
+ j, err := gjson.LoadToml(data, true)
+ t.Assert(err, nil)
+ t.Assert(j.Get("n").String(), "123456789")
+ t.Assert(j.Get("m").Map(), g.Map{"k": "v"})
+ t.Assert(j.Get("m.k").String(), "v")
+ t.Assert(j.Get("a").Slice(), g.Slice{"1", "2", "3"})
+ t.Assert(j.Get("a.1").Int(), 2)
+ })
+ // TOML
gtest.C(t, func(t *gtest.T) {
path := "test.toml"
gfile.PutBytes(path, data)
@@ -184,6 +231,11 @@ func Test_Load_TOML2(t *testing.T) {
t.Assert(err, nil)
t.Assert(j.Get("i"), "123456789")
})
+ gtest.C(t, func(t *gtest.T) {
+ errData := []byte("i : 123456789")
+ _, err := gjson.LoadContentType("toml", errData, true)
+ t.AssertNE(err, nil)
+ })
}
func Test_Load_Basic(t *testing.T) {
@@ -245,6 +297,26 @@ enable=true
gtest.Fatal(err)
}
})
+
+ gtest.C(t, func(t *gtest.T) {
+ j, err := gjson.LoadIni(data, true)
+ if err != nil {
+ gtest.Fatal(err)
+ }
+
+ t.Assert(j.Get("addr.ip").String(), "127.0.0.1")
+ t.Assert(j.Get("addr.port").String(), "9001")
+ t.Assert(j.Get("addr.enable").String(), "true")
+ t.Assert(j.Get("DBINFO.type").String(), "mysql")
+ t.Assert(j.Get("DBINFO.user").String(), "root")
+ t.Assert(j.Get("DBINFO.password").String(), "password")
+ })
+
+ gtest.C(t, func(t *gtest.T) {
+ errData := []byte("i : 123456789")
+ _, err := gjson.LoadContentType("ini", errData, true)
+ t.AssertNE(err, nil)
+ })
}
func Test_Load_YamlWithV3(t *testing.T) {
diff --git a/encoding/gjson/gjson_z_unit_feature_struct_test.go b/encoding/gjson/gjson_z_unit_feature_struct_test.go
index f6e2b7415..b7c514ff2 100644
--- a/encoding/gjson/gjson_z_unit_feature_struct_test.go
+++ b/encoding/gjson/gjson_z_unit_feature_struct_test.go
@@ -197,7 +197,7 @@ func Test_Struct1(t *testing.T) {
}]
}`
data := new(UserCollectionAddReq)
- j, err := gjson.LoadJson(jsonContent)
+ j, err := gjson.LoadJson(jsonContent, true)
t.Assert(err, nil)
err = j.Scan(data)
t.Assert(err, nil)