go 语言检查是否有 {"error":"unauthorized","error_description":"Full authentication is required to access this resource"}error字段,并打印error的值
时间: 2023-05-26 11:05:02 浏览: 114
聊一聊Go语言的error处理
以下是一个可能的 Go 代码示例,用于检查是否存在 {"error":"unauthorized","error_description":"Full authentication is required to access this resource"} 错误字段并打印出错误值:
```go
package main
import (
"encoding/json"
"fmt"
"strings"
)
func main() {
// 假定我们有一个 JSON 字符串
jsonStr := `{"error":"unauthorized","error_description":"Full authentication is required to access this resource"}`
// 将 JSON 字符串解析成 map[string]interface{} 类型
var resultMap map[string]interface{}
json.Unmarshal([]byte(jsonStr), &resultMap)
// 检查是否存在 "error" 字段,并且其值为 "unauthorized"
if errorValue, ok := resultMap["error"]; ok && strings.ToLower(errorValue.(string)) == "unauthorized" {
// 打印错误值
fmt.Println(resultMap["error_description"])
} else {
fmt.Println("JSON 中不存在错误字段或错误值不匹配")
}
}
```
此代码首先将 JSON 字符串解析为 `map[string]interface{}` 类型的 resultMap 变量。然后,它检查是否存在 "error" 字段,并且其值为 "unauthorized"。如果存在,则打印出 "error_description" 字段的值。否则,它将打印出一条消息,说明 JSON 中不存在错误字段或错误值不匹配。
阅读全文