登录
首页 >  Golang >  Go问答

转义JSON字符串中的特殊字符

来源:stackoverflow

时间:2024-03-25 14:45:37 177浏览 收藏

在处理 JSON 字符串时,转义特殊字符至关重要。本文讨论了转义 JSON 字符串中特殊字符的惯用方法。反引号 (` ) 可用于转义字符,但使用 JSON 库进行转义更为可读且方便。该库将自动转义字符串中的特殊字符,无需手动编组或解组。

问题内容

仅转义字符串中需要按 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])
}

解决方案


我不知道使用反引号 ` 是否是转义字符的最惯用的方法,但更具可读性,例如,您可以使用类似的内容:

fmt.Println(jsonEscape(`dog "fish" cat`))

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

检查 String literals 部分。

以上就是《转义JSON字符串中的特殊字符》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>