我有两个服务使用http请求和响应相互通信。Repo-1 中的一个特定终结点返回一个布尔值作为其响应。response := checkIfPresent(personId)return c.JSON(http.StatusOK, response)下面是一个布尔值。在客户端,我收到了这样的响应。responseclient := &http.Client{}responseBody, err := client.Do(request)if err != nil { return false } defer responseBody.Body.Close()response, _ := ioutil.ReadAll(responseBody.Body)return response 但是,此处的响应属于 类型 。如何从中获取 bool 值并返回?[]byte
1 回答
森栏
TA贡献1810条经验 获得超5个赞
是字节切片中的 JSON 编码数据,包含字符串 。您必须从 JSON 中取消编组。responsetrue
var resp bool
err := json.Unmarshal(response, &resp)
if err != nil {
//Do the error handling, and return, for example:
return false, err
}
return resp, nil
或者简单地说,您可以检查它是否等于字符串“true”与
return string(response) == "true"
但稍后如果响应将包含更多数据,则只有未封印方式有效。
- 1 回答
- 0 关注
- 82 浏览
添加回答
举报
0/150
提交
取消