登录
首页 >  Golang >  Go问答

在golang中用反斜杠解析JSON

来源:stackoverflow

时间:2024-04-07 08:24:36 361浏览 收藏

一分耕耘,一分收获!既然都打开这篇《在golang中用反斜杠解析JSON》,就坚持看下去,学下去吧!本文主要会给大家讲到等等知识点,如果大家对本文有好的建议或者看到有不足之处,非常欢迎大家积极提出!在后续文章我会继续更新Golang相关的内容,希望对大家都有所帮助!

问题内容

我有一个客户端将 smb 用户信息作为 json 对象发送。用户有两个反斜杠 - 例如:{"user":"ad.example\\stack", "password": "gamma"}

我有一个 golang 应用程序,其解组如下:

type smb_cred struct {
    User     string `json:"user"`
    Password string `json:"password"`
}

var cred  smb_cred
err = json.Unmarshal(input, &cred)

解组后,它会去掉一个反斜杠,因此生成的字符串仅包含一个斜杠。我正在尝试使用斜杠分隔符分割字符串以分隔用户和 ad 域,以传递到 cifs 安装上:mount -t cifs -o username=stack,password=gamma,domain=ad.example

如何用 baskslash 作为分隔符分割字符串?

----更新修复----

strings.split(cred.user, "\\") 解决了我的问题。


解决方案


反斜杠是JSON中的转义字符。反斜杠后面的字符有特殊含义。

  • \\ 是单个 \
  • \" 是单个 "
  • \n 是换行符。
  • \u2603snowman

所以 "AD.EXAMPLE\\stack" 是字符串 AD.EXAMPLE\stack。这是正确的 JSON,Go 通过将 \\ 解释为 \ 来完成正确的操作。

如果您确实想要 AD.EXAMPLE\\stack,您需要添加另一个转义的 \"AD.EXAMPLE\\\\stack"

理论要掌握,实操不能落!以上关于《在golang中用反斜杠解析JSON》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

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