golang在http消息交互时的 “[object undefined]”
在使用golang
作为微信开发的服务端时,遇到解析消息时字段为空的情况.这种情况下使用encoding/json
解析会出现[object Undefined]
字符串,而不是期望的空字符串.
自己写了一个工具函数解析此类情况:
func GetHeadString(r *http.Request, key string) (string, error) {
if len(key) == 0 {
return "", fmt.Errorf("empty key")
}
x := r.Header.Get(key)
if len(x) == 0 || x == "[object Undefined]" {
return "", fmt.Errorf("empty value for key %s", key)
}
return x, nil
}