我正在嘗試將 Golang 結構打印為帶有轉義字符的字符串,但無法做到這一點。我想像這樣打印我的結構:"{\"data\":\"MyName\",\"value\":\"Ashutosh\"}"這是我試過的。package mainimport ( "encoding/json" "fmt")type Resp struct { Data string `json:"data"` Value string `json:"value"`}func main() { var data Resp data.Data = "Name" data.Value = "Ashutosh" r, _ := json.Marshal(data) fmt.Println("MyStruct: ", string(r))}但它是這樣打印的。{"data":"Name","value":"Ashutosh"}有人可以幫我獲得以下輸出嗎?:"{\"data\":\"MyName\",\"value\":\"Ashutosh\"}"
1 回答

長風秋雁
TA貢獻1757條經驗 獲得超7個贊
要引用任何字符串,您可以使用strconv.Quote()
:
fmt.Println("MyStruct:", strconv.Quote(string(r)))
fmt
包中還有一個用于引用字符串的動詞%q
::
字符串和字節切片(與這些動詞等效處理):
%q a double-quoted string safely escaped with Go syntax
所以你也可以這樣打?。?/p>
fmt.Printf("MyStruct: %q", string(r))
因為這也適用于字節片,你甚至不需要轉換string
:
fmt.Printf("MyStruct: %q", r)
MyStruct: "{\"data\":\"Name\",\"value\":\"Ashutosh\"}"
- 1 回答
- 0 關注
- 343 瀏覽
添加回答
舉報
0/150
提交
取消