Golang的json解析--Gjson库的使用举例
package main
import (
"fmt"
"github.com/tidwall/gjson"
)
func main() {
// 假设我们有一个JSON字符串
jsonString := `{"name": "John", "age": 30, "city": "New York"}`
// 使用Gjson获取"name"的值
name := gjson.Get(jsonString, "name")
fmt.Printf("Name: %s\n", name.String())
// 使用Gjson嵌套获取"city"的值
city := gjson.Get(jsonString, "results.0.city")
fmt.Printf("City: %s\n", city.String())
// 使用Gjson遍历数组
jsonArray := `[{"name": "Alice"}, {"name": "Bob"}]`
for _, result := range gjson.Get(jsonArray, "#(gjson.type==JSON_OBJECT).name").Array() {
fmt.Printf("Name: %s\n", result.String())
}
}
这段代码首先导入了Gjson库,然后定义了一个JSON字符串。使用gjson.Get
方法获取"name"和"city"的值,并打印输出。接着,对包含多个对象的JSON数组进行遍历,并获取每个对象中"name"的值。这个例子展示了Gjson库的基本用法,包括获取值、遍历数组以及处理嵌套的JSON数据。
评论已关闭