亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

用于 POST 請求的 JSON 正文

用于 POST 請求的 JSON 正文

Go
米脂 2022-09-12 21:00:34
我正在為 POST 請求構建一個正文relativeurl := "this-is-a-test-url"postBody := fmt.Sprintf("{\"requests\": [{\"httpMethod\": \"GET\",\"relativeUrl\": \"%s\"}]}", relativeurl)當我做一個 的 ,我看到:fmt.PrintlnpostBody{"requests": [    {        "httpMethod": "GET",        "relativeUrl": "this-is-a-test-url"}]}但是網址需要一個 JSON:{    "requests": [        {            "httpMethod": "GET",            "relativeUrl": "this-is-a-test-url"        }]}我構建后身的方式是錯誤的嗎?
查看完整描述

3 回答

?
飲歌長嘯

TA貢獻1951條經驗 獲得超3個贊

只是提到另一種正確轉義JSON字符串的方法:


// call the json serializer just on the string value :

escaped, _ := json.Marshal(relativeUrl)

// the 'escaped' value already contains its enclosing '"', no need to repeat them here :

body := fmt.Sprintf("{\"requests\": [{\"httpMethod\": \"GET\",\"relativeUrl\": %s}]}", escaped)

https://play.golang.org/p/WaT-RCnDQuK


查看完整回答
反對 回復 2022-09-12
?
素胚勾勒不出你

TA貢獻1827條經驗 獲得超9個贊

您的兩個 JSON 輸出示例既有效又在功能上等效??崭裨?JSON 中并不重要。請參閱 JSON.org 中的以下內容:


可以在任何一對令牌之間插入空格。


您可以使用或在線 JSON 解析器輕松測試和格式化 JSON。encoding/json


但是,您正在使用的方法容易出錯,因為您的URL需要正確轉義。例如,如果 URL 中包含雙引號 ,則代碼將生成無效的 JSON。"


在 Go 中,最好創建一些要編碼的結構。例如:


package main


import (

    "encoding/json"

    "fmt"

)


type RequestBody struct {

    Requests []Request `json:"requests"`

}


type Request struct {

    HTTPMethod  string `json:"httpMethod"`

    RelativeURL string `json:"relativeUrl"`

}


func main() {

    body := RequestBody{

        Requests: []Request{{

            HTTPMethod:  "GET",

            RelativeURL: "this-is-a-test-url",

        }},

    }


    bytes, err := json.MarshalIndent(body, "", "  ")

    if err != nil {

        panic(err)

    }


    fmt.Println(string(bytes))

}

下面是一個運行示例:


https://play.golang.org/p/c2iU6blG3Rg


查看完整回答
反對 回復 2022-09-12
?
HUX布斯

TA貢獻1876條經驗 獲得超6個贊

可以使用 json 包來處理 json 輸入和輸出。使用 json。取消消息函數,將 json 轉換為 golang 結構并使用 json。將戈蘭結構轉換為 json 的封送函數。


查看完整回答
反對 回復 2022-09-12
  • 3 回答
  • 0 關注
  • 125 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號