网站建设服务宗旨,北流网站,seo基础培训,wordpress返回旧版本遇到一个问题#xff0c;需要用 go 请求 api#xff0c;再返给前端#xff0c;写结构体有些麻烦#xff0c;前端可以解析 json
在 Go 语言中#xff0c;没有像 Python 中的字典#xff08;dict#xff09;那样的动态类型来自动解析 JSON 数据。Go 是一种静态类型语言需要用 go 请求 api再返给前端写结构体有些麻烦前端可以解析 json
在 Go 语言中没有像 Python 中的字典dict那样的动态类型来自动解析 JSON 数据。Go 是一种静态类型语言因此需要提前定义一个结构体或映射来表示 JSON 数据的结构。
虽然没有像 Python 那样的动态解析但你可以使用 map[string]interface{} 来部分模拟这种功能。这种方法允许你将 JSON 数据解析为一个映射类似于 Python 中的字典其中键是字符串值可以是任何类型。
package mainimport (encoding/jsonfmtgithub.com/go-resty/resty/v2
)func getResponseAsMap(url string) (map[string]interface{}, error) {// 创建 Resty 客户端client : resty.New()// 发送 GET 请求resp, err : client.R().Get(url)// 处理响应if err ! nil {return nil, err}// 解析 JSON 响应为 mapvar data map[string]interface{}if err : json.Unmarshal(resp.Body(), data); err ! nil {return nil, err}// 返回解析后的 mapreturn data, nil
}func main() {// 调用自定义函数并处理结果url : https://jsonplaceholder.typicode.com/posts/1 // 替换为你的实际 URLresponseData, err : getResponseAsMap(url)if err ! nil {fmt.Println(Error:, err)return}// 打印解析后的 map 数据fmt.Printf(%v\n, responseData)
}