gpt4 book ai didi

json - 区分JSON和其他错误

转载 作者:IT王子 更新时间:2023-10-29 02:25:20 24 4
gpt4 key购买 nike

enc := json.NewEncoder(w)
err := enc.Encode(struct {
Method string `json:"method"`
Results []interface{} `json:"results"`
CacheTime int `json:"cache_time"`
}{Method: answerInlineQueryMethod, Results: results, CacheTime: 0})
if err != nil {
log.Printf("failed to answer to inline query: %s", err)
}

我如何区分 JSON 错误(应引起 panic )和由发送响应引起的错误(应记录)?

最佳答案

encoding/json 包定义了它将返回的错误类型。对于编码,您有 MarshalerError , UnsupportedTypeError , 和 UnsupportedValueError .

您可以检查 Encode 返回的错误类型是否是这 3 种之一。

如果响应不是很大并且不依赖于根据 json.Encoder 协议(protocol)发送多个 json 值,您可以简单地使用 json.Marshal并单独写回复。

关于json - 区分JSON和其他错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48067498/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com