我有兩個服務使用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 關注
- 100 瀏覽
添加回答
舉報
0/150
提交
取消