登录
首页 >  Golang >  Go问答

无效的字符" d"的起始计值

来源:stackoverflow

时间:2024-02-08 16:21:22 246浏览 收藏

今日不肯埋头,明日何以抬头!每日一句努力自己的话哈哈~哈喽,今天我将给大家带来一篇《无效的字符" d"的起始计值》,主要内容是讲解等等,感兴趣的朋友可以收藏或者有更好的建议在评论提出,我都会认真看的!大家一起进步,一起学习!

问题内容

我使用 python 向服务器发送一些数据,并在发送数据时使用 json.dumps()。

data = {
          'reason': 'invalid', 
          'dtype':   120, 
          'id':      708, 
          'scene':   'external_vender'
      }
send the data as json.dumps(data)

但是在使用 go 在服务器端读取数据时,出现以下错误。有谁知道这个问题的可能原因是什么?

unmarshal err=寻找值开头的无效字符“d”

type Response struct {
    id       int64     `json:"id"`
    dtype    int32     `json:"type"`
    reason   string    `json:"reason"`
    scene    string    `json:"scene"`
}
var response Response
err := json.Unmarshal(Data, &response)

正确答案


json.unmarshall 仅适用于大写字母的字段。

更改此:

type response struct {
    id       int64     `json:”id”`
    dtype    int32     `json:”dtype”`
    reason   string    `json:”reason”`
    scene    string    `json:”scene”`
}

对此:

type Response struct {
    Id       int64     `json:"id"`
    Dtype    int32     `json:"dtype"`
    Reason   string    `json:"reason"`
    Scene    string    `json:"scene"`
}

这可能不是您唯一的错误 - 因为寻找值 开头的 invalid 字符 'd' 意味着一些其他解析错误。在调用 unmarhsall 之前尝试打印 data 以查看它是否看起来像有效的 json。

到这里,我们也就讲完了《无效的字符" d"的起始计值》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

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