1. JSON 解析
package main
import (
"fmt"
"github.com/gogf/gf/encoding/gjson"
)
func main() {
jsonData := `{"name": "John", "age": 30, "city": "New York"}`
// 解析 JSON 数据
json, err := gjson.LoadContent([]byte(jsonData))
if err != nil {
fmt.Println("JSON 解析失败:", err)
return
}
// 输出解析后的数据
fmt.Println("Name:", json.GetString("name"))
fmt.Println("Age:", json.GetInt("age"))
fmt.Println("City:", json.GetString("city"))
}
2. JSON 查询
package main
import (
"fmt"
"github.com/gogf/gf/encoding/gjson"
)
func main() {
jsonData := `{"name": "John", "age": 30, "city": "New York"}`
// 解析 JSON 数据
json, err := gjson.LoadContent([]byte(jsonData))
if err != nil {
fmt.Println("JSON 解析失败:", err)
return
}
// 查询 JSON 数据
result := json.Get("name")
if result.Exists() {
fmt.Println("Name:", result.String())
} else {
fmt.Println("Name 不存在")
}
}
3. JSON 修改
package main
import (
"fmt"
"github.com/gogf/gf/encoding/gjson"
)
func main() {
jsonData := `{"name": "John", "age": 30, "city": "New York"}`
// 解析 JSON 数据
json, err := gjson.LoadContent([]byte(jsonData))
if err != nil {
fmt.Println("JSON 解析失败:", err)
return
}
// 修改 JSON 数据
json.Set("age", 31)
// 输出修改后的 JSON 数据
fmt.Println("修改后的 JSON 数据:", json.String())
}
以上是 gjson 模块的一些基本用法,你可以根据具体的需求使用更多的功能,例如数组操作、深度查询、迭代等。在使用时,可以参考 GoFrame 框架的文档以了解更多详细信息。
转载请注明出处:http://www.zyzy.cn/article/detail/7787/GoFrame