在 Golang 中,可以使用 json.Unmarshal() 函数将 JSON 字符串转换为 map。以下是一个简单的示例:

package main

import (
    "encoding/json"
    "fmt"
)

func main() {
    // 定义一个 JSON 字符串
    jsonStr := `{"name":"Alice","age":18,"gender":"female"}`

    // 将 JSON 字符串解析为 map 类型
    var data map[string]interface{}
    err := json.Unmarshal([]byte(jsonStr), &data)
    if err != nil {
        panic(err)
    }

    // 输出解析后的数据
    fmt.Printf("name: %s, age: %d, gender: %s\n", data["name"], int(data["age"].(float64)), data["gender"])
}

在上面的示例中,我们使用了 json.Unmarshal() 函数将 JSON 字符串解析为 map[string]interface{} 类型的变量 data,其中 string 表示 JSON 对象中的键名,interface{} 表示键值可以是任意类型。在输出解析后的数据时,我们需要将 age 转换为整型,因为在 JSON 中,数字类型默认为浮点型。同时,我们还需要使用类型断言将 age 的值转换为 float64 类型。

golang json字符串转map

原文地址: https://www.cveoy.top/t/topic/sc9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录