仅转义字符串中需要由JSON 规范转义的字符的惯用方法是什么 。
(我不是要编组/解组对象或字符串,我只是想转义字符串中的字符。
这有效,但肯定有更惯用的方式吗?https://play.golang.org/p/rcHZbrjFyyH
func main() {
fmt.Println(jsonEscape(`dog "fish" cat`))
//output: dog \"fish\" cat
}
func jsonEscape(i string) string {
b, err := json.Marshal(i)
if err != nil {
panic(err)
}
// Trim the beginning and trailing " character
return string(b[1:len(b)-1])
}
Run Code Online (Sandbox Code Playgroud)
我不知道使用反引号是否`
是转义字符的最惯用的方法,但更具可读性,例如,您可以使用类似以下内容的方法:
fmt.Println(jsonEscape(`dog "fish" cat`))
Run Code Online (Sandbox Code Playgroud)
https://play.golang.org/p/khG7qBROaIx
检查字符串文字部分。