You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Go语言解析JSON报错:接口类型转换失败问题排查

Go JSON解析类型转换错误问题解决

错误原因

你的JSON数据中,ccc对应的是一个数组([]包裹的结构),但代码里直接将其强制转换为map[string]interface{},类型不匹配触发了panic。

修正后的代码

package main

import (
    "encoding/json"
    "fmt"
)

func main() {
    jsonData := `{"aaa": {"bbb": {"ccc": [{"file_1": "file.jpg", "file_2": "file.png"}]}}}`

    var result map[string]map[string]map[string]interface{}
    json.Unmarshal([]byte(jsonData), &result)

    // 先将ccc转换为数组类型
    cccArray := result["aaa"]["bbb"]["ccc"].([]interface{})
    // 取出数组中的第一个对象
    files := cccArray[0].(map[string]interface{})

    for key, value := range files {
        fmt.Println(key, value)
    }
}

输出结果

file_1 file.jpg
file_2 file.png

内容的提问来源于stack exchange,提问作者sogafo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 07:45:59