package main
import (
"encoding/json"
"fmt"
"io/ioutil"
)
func main() {
// Read the JSON file into memory
file, err := ioutil.ReadFile("file.json")
if err != nil {
fmt.Println(err)
return
}
// Unmarshal the JSON into a dynamic interface
var data interface{}
err = json.Unmarshal(file, &data)
if err != nil {
fmt.Println(err)
return
}
// Access the values using type assertions
m := data.(map[string]interface{})
for k, v := range m {
fmt.Println(k, v)
}
}
1条答案
按热度按时间8zzbczxx1#
可以,可以在Go语言中使用内置的encoding/json包和接口类型动态解析JSON文件,下面是一个例子:
在本例中,
json.Unmarshal
函数用于将JSON文件解析为interface{}类型,这是Go语言中的动态类型,可以保存任何值,然后可以使用类型Assert将动态类型转换为更具体的类型,如map[string]interface{}来访问JSON中的值。你是这个意思吗?