为了账号安全,请及时绑定邮箱和手机立即绑定

Golang 等价于 Python json.dumps 和 json.loads

Golang 等价于 Python json.dumps 和 json.loads

Go
宝慕林4294392 2022-06-06 14:58:44
这是一个非常奇怪的情况,但我需要将字符串化的 json 转换为可以解组的有效内容:"{\"hello\": \"hi\"}"我希望能够将其解组为这样的结构:type mystruct struct {     Hello string `json:"hello,string"`     }我通常知道解组需要字节,但我试图将我目前得到的东西转换成结构化的东西。有什么建议么?
查看完整描述

1 回答

?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

问题是该encoding/json包接受格式正确的 JSON,在这种情况下,您已经转义了引号的初始 JSON,首先您必须取消转义它们,一种方法是使用function strconv.Unquote,这是一个示例片段:


package main


import (

    "encoding/json"

    "fmt"

    "strconv"

)


type mystruct struct {

    Hello string `json:"hello,omitempty"`

}


func main() {

    var rawJSON []byte = []byte(`"{\"hello\": \"hi\"}"`)


    s, _ := strconv.Unquote(string(rawJSON))


    var val mystruct

    if err := json.Unmarshal([]byte(s), &val); err != nil {

        // handle error

    }


    fmt.Println(s)

    fmt.Println(err)

    fmt.Println(val.Hello)

}


查看完整回答
反对 回复 2022-06-06
  • 1 回答
  • 0 关注
  • 356 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号