package main
import (
"encoding/json"
"fmt"
)
func main() {
jsonStr := `{"name":"John", "age":30, "city":"New York"}`
var result map[string]interface{}
json.Unmarshal([]byte(jsonStr), &result)
fmt.Println(result) // 输出: map[age:30 city:New York name:John]
}
在这个例子中,我们将一个JSON字符串解析到了一个map中。注意,因为JSON数据可以是不同的类型(字符串,数字,布尔值,数组,对象等),所以我们使用作为map的值类型,它可以接收任何类型的值。interface{}
然而,需要注意的是,使用map来接收JSON数据会丢失JSON数据的结构信息,而且如果JSON数据的结构比较复杂,使用map可能会变得很麻烦。在实际开发中,通常会定义一个结构体来接收JSON数据,这样可以更方便地处理数据。