JSON specification要求仅转义字符串中字符的惯用方式是什么。
(我不是试图封送/解组对象或字符串,我只是想转义字符串中的字符。
这有效,但是肯定还有一种惯用的方式吗? 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)
}
s := string(b)
return s[1:len(s)-1] // Trim the beginning and trailing " character
}
答案 0 :(得分:0)
我不知道是否使用反引号`
是转义字符的最惯用方式,但可读性更高,例如,您可以使用类似以下内容的话:
fmt.Println(jsonEscape(`dog "fish" cat`))
https://play.golang.org/p/khG7qBROaIx
检查String literals部分。