From 545296acbf373a97f9a576b6138f83a012c3f040 Mon Sep 17 00:00:00 2001 From: Kemin <10050045+keminshu@users.noreply.github.com> Date: Sun, 24 Nov 2024 13:12:41 +0800 Subject: [PATCH] =?UTF-8?q?Update=20=E9=80=9A=E7=94=A8=E7=BC=96=E8=A7=A3?= =?UTF-8?q?=E7=A0=81-=E5=8A=A8=E6=80=81=E5=88=9B=E5=BB=BA=E4=BF=AE?= =?UTF-8?q?=E6=94=B9.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit repeted content --- ...33\345\273\272\344\277\256\346\224\271.md" | 69 ------------------- 1 file changed, 69 deletions(-) diff --git "a/docs/docs/\347\273\204\344\273\266\345\210\227\350\241\250/\347\274\226\347\240\201\350\247\243\347\240\201/\351\200\232\347\224\250\347\274\226\350\247\243\347\240\201-gjson/\351\200\232\347\224\250\347\274\226\350\247\243\347\240\201-\345\212\250\346\200\201\345\210\233\345\273\272\344\277\256\346\224\271.md" "b/docs/docs/\347\273\204\344\273\266\345\210\227\350\241\250/\347\274\226\347\240\201\350\247\243\347\240\201/\351\200\232\347\224\250\347\274\226\350\247\243\347\240\201-gjson/\351\200\232\347\224\250\347\274\226\350\247\243\347\240\201-\345\212\250\346\200\201\345\210\233\345\273\272\344\277\256\346\224\271.md" index 58fdf909c1d..5b6990ccbfd 100644 --- "a/docs/docs/\347\273\204\344\273\266\345\210\227\350\241\250/\347\274\226\347\240\201\350\247\243\347\240\201/\351\200\232\347\224\250\347\274\226\350\247\243\347\240\201-gjson/\351\200\232\347\224\250\347\274\226\350\247\243\347\240\201-\345\212\250\346\200\201\345\210\233\345\273\272\344\277\256\346\224\271.md" +++ "b/docs/docs/\347\273\204\344\273\266\345\210\227\350\241\250/\347\274\226\347\240\201\350\247\243\347\240\201/\351\200\232\347\224\250\347\274\226\350\247\243\347\240\201-gjson/\351\200\232\347\224\250\347\274\226\350\247\243\347\240\201-\345\212\250\346\200\201\345\210\233\345\273\272\344\277\256\346\224\271.md" @@ -75,72 +75,3 @@ func main() { ``` `JSON` 数据通过 `gjson` 包读取后,可以通过 `Set` 方法改变内部变量的内容,当然也可以 `新增/删除` 内容,当需要删除内容时,设定的值为 `nil` 即可。 `gjson` 包的数据运行时修改特性非常强大,在该特性的支持下,各种数据结构的编码/解析显得异常的灵活方便。 - -`gjson` 除了能够灵活解析、检索未知数据结构内容,还能够动态创建和修改数据结构内容。 - -## 动态创建 - -### 示例1,简单使用 - -```go -func main() { - j := gjson.New(nil) - j.Set("name", "John") - j.Set("score", 99.5) - fmt.Printf( - "Name: %s, Score: %v\n", - j.Get("name").String(), - j.Get("score").Float32(), - ) - fmt.Println(j.MustToJsonString()) - - // Output: - // Name: John, Score: 99.5 - // {"name":"John","score":99.5} -} -``` - -### 示例2,创建数组 - -```go -func main() { - j := gjson.New(nil) - for i := 0; i < 5; i++ { - j.Set(fmt.Sprintf(`%d.id`, i), i) - j.Set(fmt.Sprintf(`%d.name`, i), fmt.Sprintf(`student-%d`, i)) - } - fmt.Println(j.MustToJsonString()) - - // Output: - // [{"id":0,"name":"student-0"},{"id":1,"name":"student-1"},{"id":2,"name":"student-2"},{"id":3,"name":"student-3"},{"id":4,"name":"student-4"}] -} -``` - -## 动态修改 - -```go -func main() { - data := - `{ - "users" : { - "count" : 2, - "list" : [ - {"name" : "Ming", "score" : 60}, - {"name" : "John", "score" : 59} - ] - } -}` - if j, err := gjson.DecodeToJson(data); err != nil { - panic(err) - } else { - j.Set("users.list.1.score", 100) - fmt.Println("John Score:", j.Get("users.list.1.score").Float32()) - fmt.Println(j.MustToJsonString()) - } - // Output: - // John Score: 100 - // {"users":{"count":2,"list":[{"name":"Ming","score":60},{"name":"John","score":100}]}} -} -``` - -`JSON` 数据通过 `gjson` 包读取后,可以通过 `Set` 方法改变内部变量的内容,当然也可以 `新增/删除` 内容,当需要删除内容时,设定的值为 `nil` 即可。 `gjson` 包的数据运行时修改特性非常强大,在该特性的支持下,各种数据结构的编码/解析显得异常的灵活方便。 \ No newline at end of file