Golang动态高效JSON解析技巧
package main
import (
"encoding/json"
"fmt"
)
func main() {
jsonData := `{"name":"John", "age":30, "city":"New York"}`
// 解析为map
var result map[string]interface{}
err := json.Unmarshal([]byte(jsonData), &result)
if err != nil {
fmt.Println(err)
return
}
fmt.Printf("Name: %v\n", result["name"])
fmt.Printf("Age: %v\n", result["age"])
fmt.Printf("City: %v\n", result["city"])
}
这段代码首先定义了一个JSON字符串jsonData
,然后使用json.Unmarshal
函数将其解析为一个map,其中的每个键值对被解析为interface{}
类型,允许存储任何类型的值。解析后的结果存储在result
变量中,然后我们可以直接访问这个map中的元素。这种方法提供了灵活的数据访问方式,适合处理动态或未知结构的JSON数据。
评论已关闭